OpenGL中的深度缓冲区

问题描述:

我想绘制一系列使用OpenGL的矩形,但是应该出现在矩形下方的一些矩形出现在其上方。OpenGL中的深度缓冲区

为了让我使用

glClearDepth(1.0f); 
glDepthFunc(GL_LESS); 
glEnable(GL_DEPTH_TEST); 

我在每次抽签的开头使用gluLookAt深度功能。这是一个问题的图像。蓝色矩形的位置y值高于绿色矩形。

alt textalt text

,你可以在上面的图像上方的蓝色的一些绿色长方形的出现在看。任何想法,为什么发生这种情况,我可以做些什么来解决它?它可能与我绘制矩形的顺序有关吗?

当你清除你的颜色缓冲区时你是否也清除了深度缓冲区?

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

确定的图像是不正确的?其中一些绿色方块实际上是
看起来比蓝色方块更高。

您是否在您使用的任何窗口系统中启用了深度缓冲区?例如,使用glut可能需要:glutInitDisplayMode(GLUT_DEPTH | ....);

+0

我使用qt作为我的窗口工具包。我不知道这样的功能。你知道是否有一个我应该叫做类似于过剩的功能。 – DHamrick 2009-06-25 20:49:04