2009-06-30 73 views
1

我画一个四如下创建一个简单的渐变背景:OpenGL的背景dissappears某些多边形模式

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

回答

1

你需要按GL_FILL的多边形模式到堆栈中绘制你的背景多边形前,然后弹出回来堆栈。