next up previous contents
Next: Fichero de entrada Up: Orientación Previous: Orientación

Eliminar caras

Ya mencionamos al final de la definición de un polígono que un polígono tridimensional tiene dos caras.

Si modelamos un poliedro cerrado con caras no-transparentes (se trata entonces de un volumen), es obvio que no podemos ver nunca una cara que se encuentra a espaldas del poliedro, es decir, en la visualización de nuestro mundo virtual no hace falta dibujar esas caras.

Eliminar dichos polígonos significa que no estén tratados más en siguientes fases del ``pipeline'' y éso resulta normalmente en una ejecución más rápida del programa.

¡Pero tenemos que tener cuidado modelando el objeto! Por defecto, OpenGL trata la cara con orientación positiva (antihorario) como cara anversa. Eso significa que tenemos que modelar el poliedro así que todas las listas de puntos de sus polígonos vistas desde fuera del poliedro estén orientadas en sentido antihorario.

El resultado de esa forma de modelar el poliedro es que en la proyección al plano de visualización los polígonos cuyas caras anversas se ven están orientados en sentido positivo y los polígonos cuyas caras reversas se ven están orientados en sentido negativo (y así OpenGL los puede distinguir, p.e., con el truco de la esquina).

Antes hay que habilitar este modo de OpenGL:

glEnable()

y hay que decir cuáles de las caras no se quieren dibujar:

glCullFace()

La definición de cuál es la cara anversa y cuál la cara reversa se pueda cambiar globalmente con

glFrontFace()

next up previous contents
Next: Fichero de entrada Up: Orientación Previous: Orientación
© 2003, Dr. Arno Formella & Dra. Mª Victoria Luzón García, Universidad de Vigo, Departamento de Informática