OpenGL中的深度缓冲区
问题描述:
我想绘制一系列使用OpenGL的矩形,但是应该出现在矩形下方的一些矩形出现在其上方。OpenGL中的深度缓冲区
为了让我使用
glClearDepth(1.0f);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
我在每次抽签的开头使用gluLookAt深度功能。这是一个问题的图像。蓝色矩形的位置y值高于绿色矩形。
,你可以在上面的图像上方的蓝色的一些绿色长方形的出现在看。任何想法,为什么发生这种情况,我可以做些什么来解决它?它可能与我绘制矩形的顺序有关吗?
答
当你清除你的颜色缓冲区时你是否也清除了深度缓冲区?
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
确定的图像是不正确的?其中一些绿色方块实际上是
看起来比蓝色方块更高。
答
您是否在您使用的任何窗口系统中启用了深度缓冲区?例如,使用glut可能需要:glutInitDisplayMode(GLUT_DEPTH | ....);
我使用qt作为我的窗口工具包。我不知道这样的功能。你知道是否有一个我应该叫做类似于过剩的功能。 – DHamrick 2009-06-25 20:49:04