Preguntas de prácticas GC
|
|
Título del Test:
![]() Preguntas de prácticas GC Descripción: Preguntas de prácticas de GC (sólo test) |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Qué hace el siguiente código en la práctica de CarGL? glDisable(GL_STENCIL_TEST); glStencilFunc(GL_ALWAYS, 2, 0xFF);. Rellena todos los pixeles con el valor ID en el Stencil Buffer. No hace nada al estar el Stencil Buffer desactivado. Rellena todos los píxeles con el valor 1 en el Stencil Buffer. Rellena todos los píxeles con el valor 2 en el Stencil Buffer. ¿Qué hace el siguiente código en la práctica de CarGL? glEnable(GL_STENCIL_TEST); glStencilFunc(GL_ALWAYS, 1, 0xFF);. Rellena todos los píxeles con el valor 0xFF en el Stencil Buffer. Rellena todos los píxeles con el valor ID en el Stencil Buffer. Rellena todos los píxeles con el valor 2 en el Stencil Buffer. Rellena todos los píxeles con el valor 1 en el Stencil Buffer. ¿Qué hace el siguiente código en la práctica CarGL? glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);. Dibuja los triángulos en modo transparente. Dibuja los triángulos en modo sólido. Dibuja solo los vértices de los triángulos. Dibuja los triángulos en modo alámbrico. ¿Qué hace el siguiente código en la práctica CarGL? glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);. Dibuja los triángulos en modo transparente. Dibuja los triángulos en modo sólido. Dibuja solo los vértices de los triángulos. Dibuja los triángulos en modo alámbrico. El tamaño de las texturas (en píxeles) deben estar comprendidas entre: 0 y 100. Da igual siempre que sean par. Entre-100 y 100. Da igual siempre que sea potencia de 2. Las coordenadas de textura deben estar comprendidas entre: Entre-1 y 1. Da igual siempre que sean par. Da igual siempre que sea potencia de 2. 0 y 1. ¿Qué hace el siguiente código en la práctica CarGL? glCullFace(GL_FRONT_AND_BACK); glEnable(GL_CULL_FACE);. Elimina todas las caras frontales y traseras. Es decir, no se dibujan los triángulos. Elimina las caras traseras. Es decir, no se dibujan. Elimina las caras frontales. Es decir, no se dibujan. No hace nada en nuestra práctica. ¿Qué hace el siguiente código en la práctica CarGL, siendo b una variable booleana? if b { glEnable(GL_BLEND); } else { GlDisable(GL_BLEND); }. Activa o desactiva el culling. Activa o desactiva la transparencia. Activa o desactiva el buffer de profundidad. Actica o desactiva el stencil-buffer. ¿Por qué en el Vertex Shader debemos normalizar los vectores N y L a la hora de calcular el coseno de un ángulo con un producto escalar (dot)?. Para aumentar la precisión de los cálculos. Para simplificar el código. Porque así nos ahorramos dividir el producto escalar por los módulos de los vectores. No es necesario. ¿Cuál es la función correcta si queremos enviar una matriz mediante un uniform a nuestro shader?. glUniform4fv( … );. glUniformMatrix4fv( … );. glUniform4x4fv( … );. glUniform4f( … );. ¿Qué hace el siguiente código en la práctica CarGL, siendo b una variable booleana? if b { glEnable(GL_CULL_FACE); } else { GlDisable(GL_CULL_FACE); }. Activa o desactiva el culling. Activa o desactiva la transparencia. Activa o desactiva el buffer de profundidad. Actica o desactiva el stencil-buffer. ¿Cuál es la función correcta si queremos enviar un color (RGBA) mediante un uniform a nuestro shader?. glUniform4fv( … );. glUniform3b( … );. glUniformMatrix4fv( … );. glUniform3f( … );. ¿Qué tipo de variables se emplean para pasar valores al Vertex Shader y al Fragment Shader, como, por ejemplo, un color o una matriz?. Uniforms. Cualquiera de ellas. Varyings. Attributes. ¿Cuál es la función correcta si queremos enviar un doublé mediante un uniform a nuestro shader?. glUniform1f( … );. glUniform1i( … );. glUniform1b( … );. glUniform1d( … );. ¿Cuántas veces se ejecuta un Vertex Shader?. Tantas como vértices y fragmentos tenga la primitiva. Tantas como fragments tenga la primitiva. 3. Tantas como vértices tenga la primitiva. Si declaramos a y b como: vec4 a; vec4 b; La siguiente expresión: a.wzyx = b; en GLSL se llama: Ninguno de los demás. Swizzling. Inversión. Equivalencia. Si declaramos a y b como: vec4 a; vec4 b; La siguiente expresión: a.wzyx = b.wzyx; en GLSL se llama: Invierte el vector b y lo copia en a. No es posible escribir esa asignación en GLSL, produce un error. Invierte el vector a y lo copia en b. Simplemente copia b en a en el mismo orden. Al leer un archivo 3DS obtenemos una serie de floats por vértice que corresponder a (el número entre paréntesis indica la cantidad de floats de cada bloque de valores): Coordenadas 3D (3), Normal (3) y coordenadas de textura (2), total 8. Coordenadas 3D (4), Normal (4), total 8. Coordenadas 3D (4) y coordenadas de textura (4), total 8. Coordenadas 3D (4) y coordenadas de textura (2), total 6. Al exportar un archivo 3DS desde Blender debemos modificar los ejes para que coincidan con los de OpenGL de forma que: Y forward, Z up. Z forward, Y up. –Z forward, Y up. Z forward,-Y up. Hemos modelado un objeto con Blender compuesto por varias mallas y lo exportamos a formato 3DS. ¿Qué ocurre si una de las mallas tiene más de 65536 vértices?. Que no se graba ninguna malla. Que no se graban las mallas previas pero esa y las siguiente no. Que no se graba esa malla y las que van a continuación pero si las anteriores. Que esa malla no se graba en el archivo, pero el resto sí. El siguiente código de GLSL: vec4 a; vec4 b; a =b.wzyx; ¿Qué es lo que hace?. No es posible escribir esa asignación en GLSL, produce un error. Invierte el vector b y lo copia en a. Simplemente copia b en a en el mismo orden. Invierte el vector a y lo copia en b. ¿Qué hace el siguiente código en la práctica CarGL? glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);. Dibuja los triángulos en modo transparente. Dibuja los triángulos en modo sólido. Dibuja solo los vértices de los triángulos. Dibuja los triángulos en modo alámbrico. ¿Para qué utilizamos gentype normalize(gentype v)?. Gestionar recursos del shader. Para que el producto escalar (dot) funcione sin emplear módulos. Cálculos de vectores más precisos. Ninguna. ¿Qué palabra clave es obligatoria declarar en el fragment shader?. Gl_Color. Gl_Position. Gl_Vertex. Gl_Frag_Color. ¿Cuántas veces se ejecuta el Vertex Shader?. Tantas como vértices tenga la primitiva. Como píxeles tenga la primitiva. Las veces que nosotros indiquemos. 3 veces. ¿Qué primitivas para dibujar tenemos en OpenGL?. Puntos, líneas, triángulos y curvas más sus variantes optimizadas. Puntos, líneas y triángulos más sus variantes optimizadas. Puntos, líneas, triángulos, quads y polígonos más sus variantes optimizadas. Todos. ¿Para qué sirven los datos de tipo uniform en un shader?. Enviar información desde el código C (código base) a cualquier shader. Enviar información desde el fragment shader hasta el vertex shader. Enviar información desde el vertex shader hasta el fragment shader. Cualquiera. Tenemos el siguiente código en un shader de opengl ¿de qué se trata? vec2 someVec; vec4 othervec = someVec.xyxx; vec3 thirdvec = otherVec.zyy;. Comodín. Casting. Swizzling. Reordenación. ¿Cuantas veces se ejecuta el Fragment Shader?. Las veces que indiquemos. Tres veces. Tantas como vértices tenga la primitiva. Tantas como píxeles tenga la primitiva. Para qué necesitamos GLEW en la práctica de OpenGL: Para Interface de usuario. Para gestionar los shaders. Para realizar operaciones matemáticas. Ninguna de las anteriores. Para que se usa la función “genType refract(genType I, genType N, float eta);”. Calcular reflexiones. Calcular la dirección de refracción de un vector incidente. Calcular transparencias. Calcular el halo de las luces dirigidas. Para que se usa la función “genType reflect(genType I, genType N);”. Para calcular reflejos en los shaders. Para calcular la componente difusa. Para calcular el vector R para iluminación especular. Para normalizar vectores. Los tipo “uniform” en un shader los debes emplear cuando necesitemos: Enviar información desde el vertex shader al fragment shader. Enviar información desde el fragment shader al vertex shader. Enviar información desde el programa base (Código C) a cualquier shader. Cualquiera de las anteriores. Cómo se miden las coordenadas de las texturas: Valores medidos en píxeles dentro de las dimensiones de la textura. Son valores normalizados entre 0 y 1 independientemente del tamaño de la textura. Da igual siempre que la textura sea par. Da igual siempre que la textura sea potencia de dos. Qué ocurre si los parámetros de un shader atributes no coinciden con el número de elementos declarados como Vec4 y solo le pasamos 2: Por defecto se pasa (0.0, 0.0, 0.0, 1.0). Se rellena con ceros. Se rellena con unos. No se puede eso en OpenGl. |





