我通过绘制一个四边形来创建一个简单的渐变背景,如下所示:
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
然后我设置我的查看矩阵并绘制我的 3D 场景。当(场景的)多边形模式设置为 GL_FILL 时,这可以按预期工作,但是当我将(场景的)多边形模式设置为 GL_LINE 或 GL_POINT 时,背景四边形消失并且背景绘制为glClearColor中指定的颜色.
我尝试了几种不同的混合选项(包括完全禁用它),所以我认为问题与混合模式无关。
编辑:在上面的代码中添加以下多边形模式可以解决这个问题!
glPolygonMode GL_FRONT_AND_BACK, GL_LINE