Cuestiones Prácticas
![]() |
![]() |
![]() |
Título del Test:![]() Cuestiones Prácticas Descripción: Graficos por computador |




Comentarios |
---|
NO HAY REGISTROS |
¿Con qué programa compitió al principio OpenGL?. Explicar que es la técnica del "marshalling" en OpenGL y que ventajas aporta. Requisitos para trabajar en OpenGL. Para emplear OpenGL con Code::Blocks, necesitamos: ¿En qué año nació el concepto de "graphics machine" en la Universidad de Stanford?. a. 1982. b. 1983. c. 1972. d. 1986. ¿Cuál fue el juego que marcó un precedente importante para OpenGL, ya que fue desarrollado por John Carmack con esta API gráfica?. a. Doom. b. Quake. c. Half-Life. d. Unreal Tournament. ¿Qué ventaja mencionada en las presentaciones destaca sobre la facilidad de uso de OpenGL frente a DirectX?. a. DirectX es más fácil de usar que OpenGL. b. OpenGL está basado en el modelo COM. c. OpenGL es más comprensible al estar basado en C. d. OpenGL utiliza Visual Basic Script para su programación. ¿Qué parámetros se especifican en la función glDrawArrays de OpenGL?. a. Modo, primer vértice, y número de elementos. b. Tipo de primitiva, número de vértices, y color. c. Shader, textura, y tamaño de pantalla. d. OpenGL no tiene una función glDrawArrays. ¿Cuál es el propósito principal de los shaders en OpenGL?. a. Mejorar la compatibilidad con DirectX. b. Añadir efectos visuales a los juegos. c. Generar la posición final de los vértices y el color final de los fragmentos. d. Simplificar la programación en OpenGL. ¿En qué consiste la técnica de "marshalling" en OpenGL?. a. Gestión de recursos del shader. b. Transferencia eficiente de datos entre CPU y GPU. c. Eliminación de funciones obsoletas. d. Añadir extensiones al OpenGL. ¿Cuál es la función principal del vertex shader en OpenGL?. a. Generar la posición final del vértice. b. Generar el color final del fragmento. c. Establecer la iluminación del modelo. d. Aplicar texturas a los objetos. ¿Qué significa GPU en el contexto de gráficos por computadora?. a. Graphics Processing Unit. b. Graphics Performance Unit. c. Generalized Processing Unit. d. General Performance Unit. ¿Cuál es la función de glBegin() en las versiones antiguas de OpenGL?. a. Iniciar el proceso de dibujo de una primitiva gráfica. b. Especificar el tipo de primitiva gráfica a dibujar. c. Iniciar un programa de shading. d. Definir un punto de inicio para la renderización. ¿Qué es un fragmento en OpenGL?. a. Un área rectangular de un solo color. b. Un vértice de un objeto tridimensional. c. Una primitiva gráfica. d. Una textura aplicada a una superficie. ¿Cuál es la función de la matriz de proyección en OpenGL?. a. Transformar vértices al espacio de la cámara. b. Definir la posición de la cámara en la escena. c. Aplicar sombras a los objetos. d. Establecer la dirección de la luz. ¿En qué consiste la técnica "bump mapping" y cuál es su propósito en gráficos por computadora?. a. Mejora la iluminación de la escena mediante sombras. b. Simula la rugosidad de las superficies para efectos visuales detallados. c. Optimiza la carga de texturas en el pipeline gráfico. d. Controla la dispersión de la luz en materiales reflectantes. ¿Cuál es la diferencia entre GL_TRIANGLES y GL_TRIANGLE_STRIP al dibujar primitivas en OpenGL?. a. GL_TRIANGLES dibuja triángulos independientes, mientras que GL_TRIANGLE_STRIP conecta triángulos adyacentes. b. GL_TRIANGLE_STRIP es una versión obsoleta de GL_TRIANGLES. c. Ambas opciones son idénticas y se utilizan indistintamente. d. GL_TRIANGLES es más eficiente para representar superficies curvas. ¿Qué caracteriza a una máquina de estados y cuáles son sus ventajas en el contexto de OpenGL?. a. Una máquina de estados es un hardware dedicado para el procesamiento gráfico, y sus ventajas radican en la velocidad de renderizado. b. Una máquina de estados se refiere a un enfoque de programación que modela el comportamiento de un sistema mediante transiciones entre estados definidos, y en OpenGL, esto permite gestionar el estado de renderizado de manera eficiente. c. OpenGL no utiliza máquinas de estados, ya que sigue un paradigma de programación completamente diferente. d. Las ventajas de una máquina de estados en OpenGL son principalmente estéticas, mejorando la calidad visual de las escenas renderizadas. ¿Qué sucede si el número de puntos especificados entre glBegin y glEnd no coincide correctamente en OpenGL?. a. Se genera un aviso, pero la ejecución del programa continúa sin problemas. b. OpenGL automáticamente ajusta el número de puntos para que coincida, evitando errores. c. Se produce un error en tiempo de ejecución, y el programa se detiene. d. El exceso de puntos se ignora, pero el rendimiento de la aplicación puede disminuir. ¿Cuál es la función principal de glDrawArrays en OpenGL 4.x y cuáles son sus parámetros clave?. a. glDrawArrays especifica el número de shaders a utilizar, con first indicando el primer shader y count el número total de shaders. b. Esta función dibuja primitivas gráficas y toma como parámetros el tipo de primitiva (mode), el índice inicial (first) y la cantidad de elementos a dibujar (count). c. glDrawArrays define las propiedades del viewport en OpenGL, utilizando mode para establecer las dimensiones y count para la relación de aspecto. d. Es una función obsoleta en OpenGL 4.x, reemplazada por técnicas más modernas de renderizado. ¿Cuál es la secuencia de operaciones en el pipeline de OpenGL para renderizar gráficos?. a. Leer Datos, Ejecutar Vertex Shader, Rasterizar Primitivas, Ejecutar Fragment Shader, Escribir en el Frame Buffer y Mostrar en la pantalla. b. Ensamblar Primitivas, Rasterizar Primitivas, Ejecutar Vertex Shader, Ejecutar Fragment Shader, Escribir en el Frame Buffer y Mostrar en la pantalla. c. Leer Datos, Ensamblar Primitivas, Ejecutar Fragment Shader, Rasterizar Primitivas, Escribir en el Frame Buffer y Mostrar en la pantalla. d. Ejecutar Fragment Shader, Rasterizar Primitivas, Ensamblar Primitivas, Leer Datos, Escribir en el Frame Buffer y Mostrar en la pantalla. ¿Cuál es el propósito del código presentado, que representa un Vertex Shader en GLSL (OpenGL Shading Language)?. a. Generar texturas para la escena. b. Calcular sombras en el renderizado. c. Establecer la posición final de un vértice en la escena. d. Controlar la iluminación global. ¿Cuál es la lista completa de archivos necesarios para emplear la GLUT en OpenGL según la información proporcionada?**. a. glut.h. b. glut.lib, glut32.lib. c. glut.dll, glut32.dll. d. Todas las anteriores. ¿Qué efecto tiene la expresión `someVec.wzyx = vec4(1.0, 2.0, 3.0, 4.0);` en GLSL?. a. Asigna valores al azar. b. Invierte el orden de los componentes de `someVec`. c. Crea un nuevo vector con los valores dados. d. No tiene ningún efecto. Tenemos el siguiente código en un shader de opengl ¿de qué se trata? vec2 someVec; vec4 othervec = someVec.xyxx; vec3 thirdvec = otherVec.zyy;. a. Comodín. b. Casting. c. Swizzling. d. Reordenación. ¿Qué hace la operación someVec.zx = vec2(3.0, 5.0); en el lenguaje de sombreadores GLSL?. a. Intercambia los valores de la tercera y primera componente de someVec. b. Asigna 3.0 a la tercera componente y 5.0 a la primera componente de someVec. c. Crea un nuevo vector con los valores 3.0 y 5.0 y lo asigna a las componentes 3 y 1 de someVec. d. Genera un error de compilación porque no se pueden asignar valores de vec2 a componentes individuales de vec4. ¿Cuál es la función de gl_FragColor en GLSL?. a. Almacena las coordenadas del vértice tal como se introdujeron desde el glVertex en la aplicación. b. Contiene el color definido desde la aplicación con glColor y es solo accesible desde el Vertex Shader. c. Variable donde se almacena el color final del píxel y es solo accesible desde el Fragment Shader. d. Contiene las coordenadas de textura y es solo accesible desde el Vertex Shader. ¿Cuál es el propósito del código proporcionado en GLSL para definir la unión vec4_t?. a. Representar un vector 4D con componentes x, y, z y w. b. Proporcionar alias para las componentes s, t, p y q de un vector 4D. c. Permitir el acceso a las componentes r, g, b y a de un vector 4D. d. Todas las anteriores. En el contexto de gráficos por computadora y OpenGL, ¿Qué define el término "pipeline"?. a. Una estructura de datos utilizada para almacenar vértices de modelos 3D. b. Un tipo de primitiva gráfica en OpenGL. c. El flujo de procesos y etapas que realiza la GPU para renderizar gráficos. d. Una función de sombreado en GLSL. En GLSL, ¿cuál es la función de la palabra clave gl_Normal?. a. Almacena las coordenadas del vértice tal como se introdujeron desde el glVertex en la aplicación. b. Contiene el color definido desde la aplicación con glColor y es solo accesible desde el Vertex Shader. c. Guarda la normal definida para un vértice y es solo accesible desde el Vertex Shader. d. Contiene las coordenadas de textura y es solo accesible desde el Vertex Shader. En GLSL, ¿cuál es la función de la palabra clave gl_Vertex?. a. Almacena las coordenadas del vértice tal como se introdujeron desde el glVertex en la aplicación. b. Contiene el color definido desde la aplicación con glColor y es solo accesible desde el Vertex Shader. c. Guarda la normal definida para un vértice y es solo accesible desde el Vertex Shader. d. Contiene las coordenadas de textura y es solo accesible desde el Vertex Shader. ¿Cuál es el propósito de gl_Position en GLSL?. a. Almacena las coordenadas del vértice tal como se introdujeron desde el glVertex en la aplicación. b. Debe almacenar el vértice transformado en espacio de pantalla y solo está disponible en el Vertex Shader. c. Contiene la normal definida para un vértice y es solo accesible desde el Vertex Shader. d. Contiene las coordenadas de textura y es solo accesible desde el Vertex Shader. ¿Qué propiedad define gl_MultiTexCoord0 en GLSL?. a. Almacena las coordenadas del vértice tal como se introdujeron desde el glVertex en la aplicación. b. Contiene el color definido desde la aplicación con glColor y es solo accesible desde el Vertex Shader. c. Guarda la normal definida para un vértice y es solo accesible desde el Vertex Shader. d. Contiene las coordenadas de textura y es solo accesible desde el Vertex Shader. ¿Cuál es el propósito de las variables uniform en shaders?. a. Son variables que se pasan del vertex shader al fragment shader para interpolarse linealmente. b. Se utilizan para definir propiedades por vértice y se accede a ellas usando palabras clave como gl_Vertex. c. Son variables que se pasan desde la aplicación al shader para enviar datos genéricos de la malla o propiedades de la escena. d. Son propiedades definidas por vértice, sirven para pasar propiedades como la normal, el color del vértice, las coordenadas de textura, etc. ¿Qué hacen las variables varying en shaders?. a. Almacenan datos genéricos de la malla o propiedades de la escena y se accede a ellas usando palabras clave como gl_Vertex. b. Definen propiedades por vértice que se extienden a los píxeles vecinos mediante interpolación lineal. c. Son propiedades definidas por vértice y se pasan desde la aplicación al shader. d. Se utilizan para almacenar el color final del píxel y son accesibles solo desde el Fragment Shader. ¿Cuál es la función de las variables attribute en shaders?. a. Definen propiedades por vértice que se extienden a los píxeles vecinos mediante interpolación lineal. b. Se utilizan para almacenar el color final del píxel y son accesibles solo desde el Fragment Shader. c. Son propiedades definidas por vértice y tienen que pasarse desde la aplicación, una por cada vértice. d. Variables que se pasan del vertex shader al fragment shader para interpolarse linealmente. ¿Cuáles son los tipos de shaders comunes en OpenGL?. a. Vertex Shader, Normal Shader, y Fragment Shader. b. Uniform Shader, Varying Shader, y Attribute Shader. c. Vertex Shader, Geometry Shader, y Fragment Shader. d. Surface Shader, Lighting Shader, y Texture Shader. Relacionado con shaders en OpenGL, ¿cuál es la función principal de un Vertex Shader?. a. Calcular el color final del píxel. b. Transformar vértices a espacio de pantalla y enviar datos al Fragment Shader. c. Interpolar propiedades por píxel. d. Definir propiedades por vértice, como la normal o el color. ¿Qué hace la línea pixel_color = gl_Color.xyz; en el Vertex Shader?. a. Calcula la matriz de modelo-vista-proyección. b. Interpola el color por píxel. c. Transforma el vértice a espacio de pantalla. d. Define el color final del píxel. ¿Cuál es el propósito de la línea gl_Position = mvp * gl_Vertex; en el Vertex Shader?. a. Interpolar el color por píxel. b. Transformar el vértice a espacio de pantalla. c. Calcular la matriz de modelo-vista-proyección. d. Definir propiedades por vértice. ¿Cuál es la función de la función float clamp(float x, float minVal, float maxVal) en shaders GLSL?. a. Interpolar valores en el Fragment Shader. b. Asegurar que el valor x esté dentro del rango definido por minVal y maxVal. c. Calcular la matriz de modelo-vista-proyección. d. Definir propiedades por vértice. ¿Para qué se utiliza la función faceforward() en GLSL shaders?. a. Calcular la longitud de un vector. b. Reflejar un vector respecto a una normal. c. Calcular el producto cruz entre dos vectores. d. Asegurar que un vector esté orientado en la dirección correcta. ¿Cuál de las siguientes funciones se utiliza para calcular el producto punto entre dos vectores en shaders GLSL?. a. distance(). b. cross(). c. dot(). d. normalize(). ¿En gráficos por computadora, para qué se utiliza la función reflect() en GLSL shaders?. a. Para calcular la refracción de un vector. b. Para normalizar un vector. c. Para calcular la reflexión de un vector respecto a una normal. d. Para calcular la distancia entre dos puntos. ¿Cuál es el propósito de la función normalize() en GLSL shaders?. a. Para calcular la distancia entre dos puntos. b. Para normalizar un vector, es decir, convertirlo en un vector unitario. c. Para calcular el producto punto entre dos vectores. d. Para realizar una reflexión de un vector respecto a una normal. ¿Cuál es el propósito de los identificadores de trozos (chunks) en el formato de archivos 3DS de Autodesk?. a. Para indicar el tipo de formato de archivo. b. Para organizar jerárquicamente la información del archivo. c. Para identificar el nombre de los objetos 3D en el archivo. d. Para representar la textura aplicada a los modelo. ¿Cuál es el número máximo de vértices y polígonos permitidos por malla en el formato 3DS?. a. 65536. b. 32767. c. 65546. d. 65563. En el formato 3DS, si no contamos con normales calculadas con precisión, ¿Qué acción se debe realizar en el código y qué trozo (chunk) del archivo se utiliza para obtener información sobre los grupos de suavizado (smoothing groups)?. a. Se deben dejar las normales en cero; CHUNK_MAIN. b. Recrear las normales y utilizar el CHUNK_OBJBLOCK. c. Recrear las normales y utilizar el CHUNK_SMOOLIST. d. Utilizar las listas de suavizado y el trozo 0x4150. Al cargar modelos 3DS con el formato de 8 floats por vértice (x, y, z, A, B, C, s, t), ¿Qué representan los valores s y t?. a. Coordenadas adicionales para texturas. b. Coordenadas adicionales para iluminación. c. Coordenadas normalizadas de la textura. d. Parámetros de transformación. En el código proporcionado, ¿Cuál es el propósito de la función memcpy()?. a. Iniciar un nuevo puntero. b. Asignar memoria dinámica. c. Copiar datos de una ubicación de memoria a otra. d. Comparar dos bloques de memoria. Explicar cuales son las palabras claves que al menos deben contener un VertexShader y un Fragment Shader y qué valor deben contener. ¿Cómo se realiza el cambio de ejes al exportar un archivo 3DS en Blender? ¿Por qué hay que realizar este cambio?. ¿Cuál es la función de la matriz de proyección (u_ProjectionMatrix) en el contexto de gráficos 3D?. a. Transforma los vértices del espacio del modelo al espacio de la cámara. b. Realiza la proyección de la escena desde el espacio de la cámara al espacio de la pantalla. c. Controla la posición y orientación de la cámara en la escena. d. Define la iluminación y sombreado de la escena. ¿Qué representa la matriz de ModelView (u_MVMatrix) en la programación gráfica 3D?. a. Define la posición y orientación de la cámara en la escena. b. Transforma los vértices del espacio del modelo al espacio de la cámara. c. Controla la iluminación y sombreado de la escena. d. Proyecta la escena desde el espacio de la cámara al espacio de la pantalla. ¿Cuál es la función principal de la matriz View (u_VMatrix) en gráficos 3D?. a. Controla la iluminación ambiental de la escena. b. Define la posición y orientación de la cámara en la escena. c. Realiza la proyección de la escena desde el espacio de la cámara al espacio de la pantalla. d. Transforma los vértices del espacio del modelo al espacio de la cámara. En la comunicación con los Shaders. ¿Cómo enviamos los datos desde la aplicación a los Shaders para poder dibujar nuestros objetos 3D? Enumera los pasos. ¿En que consiste este paso en la comunicación con los Shaders?. ¿En que consiste este paso en la comunicación con los Shaders?. ¿En que consiste este paso en la comunicación con los Shaders?. ¿En que consiste este paso en la comunicación con los Shaders?. ¿Por qué es necesario el uso de GLEW al programar en la versión moderna de OpenGL?. a) GLEW proporciona herramientas para manejar eventos de teclado y ratón. b) GLEW es esencial para manipular las funciones de los Shaders en OpenGL. c) GLEW es una interfaz de usuario para el desarrollo en OpenGL. d) GLEW facilita la creación de geometría tridimensional. ¿Cuál es el propósito principal de GLM en el contexto de Shaders de OpenGL?. a) Facilita la creación de interfaces gráficas. b) Realiza operaciones matemáticas en matrices 4x4 para transformaciones gráficas. c) Gestiona la ejecución de funciones específicas de los Shaders. d) Controla la comunicación entre el sistema operativo y la GPU. ¿Por qué es necesario el uso de GLUI y GLUT al programar en la versión moderna de OpenGL?. a) GLUI para manipular funciones de Shaders y GLUT para operaciones matriciales. b) GLUI para comunicación entre el sistema operativo y la GPU, y GLUT para operaciones matemáticas. c) GLUI para gestionar eventos de ventana y entrada, y GLUT para interfaces gráficas avanzadas. d) GLUI para manipular funciones de Shaders y GLUT para facilitar la manipulación de eventos de ventana. En el contexto de OpenGL en Code::Blocks, ¿dónde se deben añadir las librerías en el orden correcto?. a) Project -> Build Options -> Linker Settings. b) Project -> Build Options -> Compiler Settings. c) Project -> Build Options -> Debugger Settings. d) Project -> Build Options -> Build Targets. ¿Qué función tiene este fragmento de OpenGL?. ¿Cuál es la definición correcta de un texel en el contexto de OpenGL?. a) Un vértice en una malla tridimensional. b) Un pixel en la pantalla. c) Un elemento en una textura que contiene un color y un valor alfa. d) Un punto de luz en una escena 3D. ¿Qué tres casos de mapeo entre texeles y píxeles en texturas existen?. ¿Cuál es la razón principal para pasar datos de textura (texels) mediante varying al Fragment Shader y calcular allí el color de la textura en mallas con pocos polígonos?. a) Mejor rendimiento en la transferencia de datos. b) Menor uso de memoria del GPU. c) Evitar la interpolación automática de propiedades por vértice. d) Obtener una mayor calidad en las texturas al adaptarse al tamaño de los píxeles. ¿Cuál es el propósito principal del Mipmapping en gráficos por computadora?. a) Aumentar la resolución de las texturas. b) Optimizar el rendimiento al reducir el aliasing. c) Mejorar la calidad de la iluminación global. d) Simular efectos de niebla en entornos virtuales. En el código del shader proporcionado, ¿qué función se utiliza para muestrear la textura con las coordenadas de mapeado de textura (a_UV)?. a) texture1D. b) texture3D. c) texture2D. d) textureCube. En el contexto del código proporcionado, ¿Cuál es la razón principal para agregar la siguiente línea al final de la función TEscena::InitGL()? glEnableVertexAttribArray(aUVLocation);. a) Activa el uso de shaders en la aplicación. b) Habilita la matriz de proyección en el shader. c) Permite el uso de coordenadas UV para mapeado de textura. d) Inicializa las variables de luz en el shader. ¿Cuál es el propósito del siguiente código C++ en el contexto de OpenGL? // Pasamos la textura antes de dibujar cada objeto, siendo tex el índice de textura glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texturas[tex]);. a) Establecer la matriz de proyección para la textura. b) Inicializar las variables de luz en el shader. c) Activar la textura para ser utilizada en el objeto que se va a dibujar. d) Configurar las propiedades del material en el shader. ¿Qué es el "Bump Mapping" en gráficos por computadora?. a) Una técnica para aumentar la resolución de texturas. b) Un algoritmo para simular rugosidades en superficies. c) La implementación de sombras suaves en modelos 3D. d) Un método para comprimir mapas de normales en texturas. ¿Cuál es el propósito principal del Environment Mapping (Cristal) en gráficos por computadora?. a) Representar sombras y luces de forma más realista en superficies brillantes. b) Simular la refracción de la luz en materiales transparentes. b) Representar sombras y luces de forma más realista en superficies brillantes. d) Optimizar la renderización de objetos complejos en entornos virtuales. |