Pregunta

Estoy creando un simple fondo de la pendiente dibujando un quad de la siguiente manera:

 glMatrixMode GL.GL_PROJECTION
 glLoadIdentity

 glMatrixMode GL.GL_MODELVIEW
 glLoadIdentity

 ***glPolygonMode GL_FRONT_AND_BACK, GL_LINE*** 

 glDisable glcDepthTest

   glBegin bmQuads

     glColor4d 1, 0, 0, 1

     glVertex2i -1, -1
     glVertex2i 1, -1

     glColor4d 0, 0, 1, 1

     glVertex2i 1, 1
     glVertex2i -1, 1

    GL.glEnd

  GL.glEnable glcDepthTest

A continuación, configure mis matrices de visualización y en mí una escena 3D. Esto funciona como se espera cuando el modo de polígono (de la escena) se establece en GL_FILL, pero cuando me puse el modo de polígono (de la escena) a GL_LINE o GL_POINT, el quad fondo desaparece y el fondo se dibuja como el color especificado en < em> glClearColor .

He intentado varias opciones de fusión diferentes (incluyendo su desactivación en total), así que no creo que el problema está relacionado con el modo de mezcla.

EDITAR: Añadiendo el siguiente modo de polígono para el código de seguridad resuelve este problema

glPolygonMode GL_FRONT_AND_BACK, GL_LINE

¿Fue útil?

Solución

Es necesario empujar el modo de polígono de GL_FILL en la pila antes de dibujar su polígono de fondo, a continuación, el pop detrás de la pila.

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