Todo sobre la librería freeGlut y el modelo de iluminación de Phong en OpenGL
Clasificado en Plástica y Educación Artística
Escrito el en
español con un tamaño de 6,25 KB
¿De qué se encarga la librería freeGlut?
FreeGlut es la biblioteca portable de GLUT. Dicha librería se encarga de:
- Gestionar la creación y manipulación de ventanas.
- Registrar eventos de teclado o ratón.
- Dibujar objetos básicos: esfera, cilindro, tetera.
¿Cómo se declaran en OGL3 las variables de E/S de los Shaders?
En OpenGL3 se usan las variables in y out. Desaparecen las variables del tipo attribute y varying y se sustituyen por las variables in y out. La variable de tipo uniform se mantiene.
Vertex shader:
- Attribute -> in (debemos asignarle un VBO a cada atributo).
- Varying -> out.
Fragment shader:
- Varying -> in.
Desaparecen gl_FragColor y glFragData.
¿Cuál es la cuarta componente cuando se define la posición de una luz direccional?
La cuarta componente es 0.
Respecto a los modelos de sombreado:
El cauce estático permite los modelos plano (GL_FLAT) y de Gouraud (GL_SMOOTH).
Para configurar la cámara mediante el cauce estático de OGL:
Debemos llamar a glLookAt después de coger la matriz identidad a GLModelview.
¿Qué es el clipping y en qué etapa del cauce se encuentra?
Con el clipping se eliminan todas las primitivas que se encuentren fuera del volumen de visualización de la cámara. Restringe los objetos que se van a representar, acotando la complejidad de la escena. Puede originar apariciones/desapariciones repentinas. Se encuentra en la etapa 5, la etapa de la Visibilidad I.
¿Cuál es su etapa anterior?
La etapa anterior es la del Ensamblado.
¿Y la siguiente?
Es la etapa del Rasterizado.
Definición del modelo de sombreado de Gouraud y de Phong
Gouraud:
El color se calcula en los vértices y se interpola en los puntos internos.
Ventajas:
- Los cálculos complejos se realizan en la etapa de vértices y a las etapas siguientes solo se les pasa el color.
Desventajas:
- La máxima intensidad solo se puede alcanzar en los vértices.
- Existen problemas con la reflexión especular (puede remarcar las aristas).
Phong:
Se interpolan las normales de los vértices y las propiedades de color y se aplica la fórmula de Phong para calcular el color de los puntos internos. Captura mejor los brillos especulares.
Ventajas:
- Captura mucho mejor el comportamiento de la luz especular.
- Las aristas son solo apreciables en los bordes del modelo.
Desventajas:
- Se tiene un coste de computación elevado.
Algoritmo z-buffer
Se trata de un algoritmo a nivel de píxel, donde se determina la profundidad (coordenada z) de cada punto sobre la superficie de cada polígono en la pantalla, y se procede a dibujar solo los puntos que estén más cercanos con respecto al espectador. Problema: la superficie tiene infinitos puntos. Afortunadamente, solo es preciso clasificar aquellos puntos que se corresponden a los píxeles situados en el plano de visualización (aquellos que van a ser dibujados).
El Z-buffer está inicialmente vacío. Cada vez que un punto se dibuje, la coordenada z del punto es comparada con el valor actual de dicha posición del buffer (si la z es mayor a la del buffer, este se descarta. Si es menor, se actualiza el valor de profundidad del z-buffer con su z).
z-fighting
Esto ocurre cuando dos o más objetos tienen valores iguales en el z-buffer, por lo que colisionan, y en dicha zona de colisión se pinta con los colores de uno u otro de forma aleatoria.
4 componentes de la luz de Phong:
- Ambiental
- Difusa
- Especular
- Iluminación emisiva
4 componentes de vértice:
- Intensidad de la fuente
- Coeficiente de reflexión difusa
- N: normal de la superficie en el punto P
- L: vector de incidencia de la luz
Enumera las componentes del modelo de iluminación de Phong e indica de qué vectores depende cada una.
Componente ambiental: proviene de todas las direcciones e ilumina todas las caras del objeto por igual.
Componente difusa: proviene de una dirección y se refleja en todas direcciones. Depende del vector de incidencia de la luz.
Componente especular: proviene de una dirección y se refleja en una dirección. Depende del vector de posición del observador y del vector de incidencia de la luz.
Iluminación emisiva: se ocupa de simular los objetos que emiten luz.
Enumera en orden las 9 etapas del cauce programable gráfico:
- Transformaciones
- Proyección
- Iluminación
- Ensamblado
- Visibilidad (I)
- Rasterizado
- Sombreado
- Visibilidad (III)
- Operaciones con la imagen