option
Cuestiones
ayuda
daypo
buscar.php

GC PRACTICAS SHADERS

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
GC PRACTICAS SHADERS

Descripción:
Tema shaders de GC UA

Fecha de Creación: 2026/07/09

Categoría: Informática

Número Preguntas: 51

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Qué es GLSL?. Un lenguaje de programación para gráficos 3D. Un tipo de shader. Una función matemática. Una variable de tipo uniforme.

¿Qué tipos de datos escalares soporta GLSL?. bool, float, double, int, unsigned int. vec2, vec3, vec4. mat2, mat3, mat4. bvec, ivec, fvec.

¿Qué representa el tipo 'float' en GLSL?. Un número entero de 32 bits. Un número booleano. Un número de coma flotante de 32 bits según IEEE-754. Un número de coma flotante de 64 bits.

¿Cuál es la diferencia entre 'float' y 'double' en GLSL?. Float es para enteros, double es para flotantes. Double tiene mayor precisión y ocupa más espacio (64 bits). No hay diferencia significativa en la práctica. Float se usa para vectores, double para matrices.

¿Qué son los tipos de datos vectoriales en GLSL?. Arrays de escalares. Matrices de escalares. Colecciones de 2, 3 o 4 elementos del mismo tipo escalar. Variables globales que se pasan a la GPU.

¿Cómo se define un vector de 3 elementos de tipo float en GLSL?. float[3]. fvec3. vec3. vector3f.

¿Qué significa 'mat4' en GLSL?. Un vector de 4 elementos. Una matriz de 4x4. Una matriz de 4x3. Un tipo de dato booleano.

¿Cómo se pueden construir vectores en GLSL?. Solo a partir de escalares. A partir de escalares, otros vectores o una combinación de ambos. Solo a partir de matrices. No se pueden construir, solo usar los predefinidos.

¿Qué es 'Swizzling' en GLSL?. Una forma de inicializar matrices. Un método para acceder y reordenar componentes de un vector. Una función para aplicar texturas. Un tipo de shader especial.

¿Cómo se accede a los elementos de una matriz en GLSL?. Usando notación de punto (ej. matrix.col[row]). Usando índices de fila y columna entre corchetes (ej. matrix[row][col]). Usando el operador de acceso a vectores. No se pueden acceder elementos individuales de matrices.

¿Qué estructuras de control soporta GLSL?. Solo bucles 'for'. Solo sentencias 'if'. Bucles y condicionales, similares a C++. No soporta estructuras de control.

¿Qué es la función 'a.length()' en GLSL para un array 'a'?. Devuelve el primer elemento del array. Devuelve el número de elementos del array. Devuelve la longitud en bytes del array. Es una sintaxis incorrecta.

¿Qué tipos de variables existen en los shaders?. Solo 'uniform' y 'varying'. 'uniform', 'varying' y 'attribute'. 'local' y 'global'. Solo 'input' y 'output'.

¿Qué propósito tiene una variable 'uniform'?. Se pasa del vertex shader al fragment shader. Es específica para cada vértice. Es una variable global pasada desde la aplicación al shader. Define el color final del píxel.

¿Qué hace una variable 'varying'?. Se pasa de la aplicación al shader. Es constante en todos los vértices. Se pasa del vertex shader al fragment shader y se interpola. Solo se usa en el fragment shader.

¿Qué tipo de datos se pasan a través de la variable 'attribute'?. Datos generales de la escena. Datos que se interpolan entre vértices. Propiedades únicas para cada vértice, como la posición o el color. Constantes globales.

¿Cuál es el propósito principal de un Vertex Shader?. Calcular el color final de cada píxel. Aplicar transformaciones y calcular la posición final de los vértices. Gestionar la iluminación de la escena. Cargar texturas.

¿Cuál es la variable de salida principal de un Vertex Shader?. gl_FragColor. gl_Position. gl_TexCoord. gl_Normal.

¿Cuál es el propósito principal de un Fragment Shader?. Calcular la posición de los vértices. Definir el color final de cada píxel o fragmento. Transformar las normales de los vértices. Pasar datos al Vertex Shader.

¿Cuál es la variable de salida principal de un Fragment Shader?. gl_Position. gl_FragCoord. gl_FragColor. gl_Color.

¿Cuántas veces se ejecuta un Vertex Shader por triángulo?. Una vez. Tres veces. Tantas veces como vértices tenga el triángulo. Tantas veces como píxeles ocupe el triángulo.

¿Cuántas veces se ejecuta un Fragment Shader por triángulo?. Una vez. Tres veces. Tantas veces como vértices tenga el triángulo. Tantas veces como píxeles ocupe el triángulo.

¿Qué tipo de iluminación se menciona en la práctica de OpenGL?. Solo iluminación especular. Iluminación ambiente, difusa y especular. Solo iluminación de borde. Iluminación global.

¿Cómo se calcula la intensidad de la luz ambiente (I ambiental)?. I ambiental = Ia * ka * cos(theta). I ambiental = Ia * ka. I ambiental = Ii * kd. I ambiental = Is * ks.

¿Cuál es la fórmula para la intensidad de la luz difusa (Idifusa)?. Idifusa = Ii * kd * sin(theta). Idifusa = Ia * ka * cos(theta). Idifusa = Ii * kd * cos(theta). Idifusa = Is * ks.

¿Qué representa 'theta' en la fórmula de iluminación difusa?. El ángulo de visión. El ángulo entre la normal de la superficie y el vector de luz. El ángulo de la textura. El ángulo de la cámara.

En el Vertex Shader de ejemplo, ¿qué representa 'u_MVMatrix'?. La matriz de proyección. La matriz de vista. La matriz combinada de Model-View. La matriz de textura.

En el Vertex Shader de ejemplo, ¿qué hace la línea 'gl_Position = u_MVPMatrix * a_Position;'?. Calcula el color del vértice. Asigna la posición del vértice en el espacio de pantalla. Define la normal del vértice. Aplica la textura al vértice.

En el Vertex Shader de ejemplo, ¿qué hace la línea 'v_Color = u_Color * diffuse;'?. Calcula la posición final del vértice. Determina la intensidad de la luz ambiente. Ajusta el color del vértice basándose en la iluminación difusa calculada. Pasa el color original de la textura.

En el Fragment Shader de ejemplo, ¿qué hace la línea 'gl_FragColor = v_Color;'?. Calcula la intensidad de la luz. Asigna el color interpolado del vértice como el color final del píxel. Define la posición del píxel. Aplica una textura al píxel.

¿Qué significa 'varying vec4 v_Color;' en el Fragment Shader?. Declara una variable uniforme. Declara una variable de entrada para el color interpolado desde el Vertex Shader. Declara una variable de salida para el color final del píxel. Declara una variable de atributo.

¿Qué son los 'Geometry shaders'?. Shaders que solo se ejecutan en la CPU. Shaders que pueden generar o modificar geometría. Shaders encargados de la iluminación especular. Shaders para aplicar texturas.

¿Cuál es el tipo de dato para una matriz de 3x3 en GLSL?. mat3x3. matrix3. mat3. mat3.3.

¿Qué función matemática se usa para obtener la longitud de un vector?. distance(). length(). size(). magnitude().

¿Qué hace la función 'normalize()' en GLSL?. Devuelve la longitud del vector. Convierte un vector a su forma unitaria (longitud 1). Calcula el producto punto de dos vectores. Suma dos vectores.

¿Qué función se utiliza para mezclar dos valores?. mix(). lerp(). blend(). interpolate().

¿Qué representa 'gl_Position' en el Vertex Shader?. El color del vértice. La posición del vértice en el espacio de la cámara. La posición final del vértice en espacio de clip. La normal del vértice.

¿Qué hace la función 'max(dot(N, L), 0.15)' en el cálculo de iluminación?. Calcula la intensidad especular. Asegura que el componente difuso no sea negativo y aplica un mínimo de luz ambiente. Determina la atenuación de la luz. Calcula la reflexión de la luz.

¿Qué representa 'a_Position' en el Vertex Shader de ejemplo?. La posición de la luz. La matriz de proyección. La posición del vértice de entrada. El color del vértice.

¿Cómo se calcula la atenuación de la luz en el ejemplo?. Mediante una fórmula constante. Usando la distancia a la fuente de luz. Depende del color del material. Es igual a la intensidad difusa.

¿Qué significa 'precision mediump float;' en un shader?. Indica que se deben usar números de alta precisión (double). Establece la precisión media para los cálculos de punto flotante. Es un error de sintaxis. Define la precisión de las texturas.

¿Qué función se usa para obtener el coseno de un ángulo?. sin(). tan(). cos(). acos().

¿Cuál es la diferencia entre `vec3(1.0, 2.0, 3.0)` y `vec3(someVec)`?. La primera crea un vector con valores específicos, la segunda copia otro vector. La primera es para enteros, la segunda para flotantes. No hay diferencia, ambas hacen lo mismo. La primera es para matrices, la segunda para vectores.

¿Qué indica 'attribute vec4 a_Color;' en un Vertex Shader?. Es una variable uniforme para el color global. Define el color de salida del fragment shader. Indica que es un color de entrada por vértice. Representa la posición del vértice.

¿Qué hace 'vec4 baz = vec4(1.0, 2.0, 3.0, 4.0);'?. Crea un vector de 3 floats con valores 1.0, 2.0, 3.0 y un float 4.0. Crea un vector de 4 floats con los valores 1.0, 2.0, 3.0 y 4.0. Crea una matriz de 4x4. Asigna el valor 4.0 a un vector llamado 'baz'.

¿Cuál es el resultado de 'someVec.zx' si 'someVec' es un vec4?. Un float. Un vec2. Un vec3. Un vec4.

¿Qué tipo de shader es el responsable de calcular la posición final de los vértices antes de la rasterización?. Fragment Shader. Geometry Shader. Vertex Shader. Compute Shader.

¿Qué hace la función 'reflect(incident, normal)'?. Calcula la refracción de un rayo. Calcula el vector reflejado de un rayo. Calcula la distancia entre dos puntos. Calcula el producto cruz de dos vectores.

¿Qué se pasa de la aplicación al Vertex Shader usando 'attribute'?. Constantes globales. Datos que se interpolan. Datos específicos de cada vértice (posición, color, normales, etc.). Matrices de transformación.

¿Qué tipo de dato se usa para representar una matriz identidad 4x4 en GLSL?. mat4(1). mat4(identity). mat4(1.0, 1.0, 1.0, 1.0). mat4(1.0).

¿Cuál es el principal uso de 'uniform mat4 mvp' en un Vertex Shader?. Para definir el color del vértice. Para pasar la matriz combinada de Model-View-Projection desde la aplicación. Para definir la normal del vértice. Para controlar la intensidad de la luz.

Denunciar Test