OpenGL fundo desaparece com certos modos Polygon
-
21-08-2019 - |
Pergunta
Estou criando um fundo simples inclinação pelo desenho de um quad da seguinte forma:
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
Em seguida, levante as minhas matrizes de visualização e tirar a minha cena 3D. Isso funciona como esperado quando o modo polígono (da cena) está definido para GL_FILL, mas quando eu definir o modo de polígono (da cena) para GL_LINE ou GL_POINT, as desaparece fundo quad eo fundo é desenhado como a cor especificada em < em> glClearColor .
Eu tentei várias opções diferentes de mistura (incluindo desativá-lo completamente), então eu não acho que o problema é blend mode relacionados.
EDIT: Adicionando o seguinte modo de polígono para resolve código acima esta questão
glPolygonMode GL_FRONT_AND_BACK, GL_LINE
Solução
Você precisa empurrar o modo polígono de GL_FILL na pilha antes de desenhar seu polígono fundo, em seguida, colocá-la de volta para fora da pilha.