Pregunta

En OpenGL, tengo un objeto que escala por parte de -1 a lo largo de un eje ... Esto hace que el objeto no se muestra adecuadamente porque todas las caras frontales son ahora se enfrenta a la espalda. Corto de desactivar el sacrificio, ¿cómo iba a conseguir este objeto para right rinda? ¿Hay una manera de hacerlo sin modificar los vértices normales de textura que componen mi modelo?

¿Fue útil?

Solución

Usted simplemente puede cambiar el modo de sacrificio. Puede utilizar glCullFace(mode) decidir qué triángulos deberían ser eliminados. El suministro de un parámetro de los medios GL_BACK que los polígonos solamente de frente se prestan, mientras que un parámetro de los medios GL_FRONT que los polígonos solamente caras ocultas son prestados. Así que si sus medios de transformación que el "caras ocultas" polígonos son, de hecho, frontfacing, llamando glCullFace(GL_FRONT) debe hacer el truco.

Como alternativa también se puede controlar qué polígonos se consideran parte delantera / caras ocultas utilizando glFrontFace(dir), con un parámetro de GL_CW (en sentido horario) o GL_CCW (hacia la izquierda) (por defecto es a la izquierda por lo que si lo establece en clocksie originalmente caras ocultas polígonos serían considerados frontfacing).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top