Herramientas de usuario

Herramientas del sitio


fw:qt4

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:qt4 [2013/03/04 21:41]
alfred [QDialog]
fw:qt4 [2020/05/09 09:25] (actual)
Línea 161: Línea 161:
  
 === QGLShaderProgram y QGLShader === === QGLShaderProgram y QGLShader ===
-''​QGLShader''​ es la clase que recoge código GLSL para ser compilado y ''​QGLShaderProgram''​ se encarga de realizar dicha compilación de los diferentes shaders pasados. \\ +''​QGLShader''​ es la clase que recoge código GLSL para ser compilado y ''​QGLShaderProgram''​ se encarga de realizar dicha compilación de los diferentes shaders pasados ​(se han de crear durante la inicialización de OpenGL). \\ 
 Debemos indicar en el constructor ''​QGLShader''​ qué tipo de shader es (QGLShader::​Vertex o QGLShader::​Fragment). \\  Debemos indicar en el constructor ''​QGLShader''​ qué tipo de shader es (QGLShader::​Vertex o QGLShader::​Fragment). \\ 
 Para posteriormente pasar valores a los atributos de input a los shaders debemos usar el método ''​bindAttributeLocation''​ pasándole el nombre de este y su posición (antes de linkar el programa). Si no se enlazasen las posiciones entonces serían cogidas automáticamente. ​ Para posteriormente pasar valores a los atributos de input a los shaders debemos usar el método ''​bindAttributeLocation''​ pasándole el nombre de este y su posición (antes de linkar el programa). Si no se enlazasen las posiciones entonces serían cogidas automáticamente. ​
Línea 172: Línea 172:
 // Se lee el contenido de dos ficheros de código glsl y se vuelcan sobre shader_source // Se lee el contenido de dos ficheros de código glsl y se vuelcan sobre shader_source
  
-vshader->​compileSourceCode(shader_source[0].source); +vshader->​compileSourceFile(vShaderFile);​ // De archivo 
-fshader->​compileSourceCode(shader_source[1].source);+ 
 +const char *fsrc = 
 +         "​uniform sampler2D texture;​\n"​ 
 +         "​varying mediump vec4 texc;​\n"​ 
 +         "​void main(void)\n"​ 
 +         "​{\n"​ 
 +         " ​   gl_FragColor = texture2D(texture,​ texc.st);\n" 
 +         "​}\n"​
 +fshader->​compileSourceCode(fsrc); 
 QGLShaderProgram *program = new QGLShaderProgram(this);​ QGLShaderProgram *program = new QGLShaderProgram(this);​
 program->​addShader(vshader);​ program->​addShader(vshader);​
Línea 212: Línea 221:
   * **qtconfig**:​ Configura el aspecto y el comportamiento de las interficies creadas con Qt en esa máquina.   * **qtconfig**:​ Configura el aspecto y el comportamiento de las interficies creadas con Qt en esa máquina.
 ==== QtCreator ==== ==== QtCreator ====
 +==== Diseñador ====
 +  * Si queremos acceder a los elementos agregados por el diseñador desde el código lo haremos a partir del objeto ''​ui''​ que hay en la clase:
 +<code cpp>
 +// en clase MainWindow, npd es un QDialog:
 +connect(this->​ui->​actionNew_Planet,​ SIGNAL(triggered()),​ npd, SLOT(show()));​
 +</​code>​
 ==== Cómo... ==== ==== Cómo... ====
 === ... Configurar un proyecto C++ simple, sin utilizar Qt? === === ... Configurar un proyecto C++ simple, sin utilizar Qt? ===
fw/qt4.1362433318.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)