我试图使用OpenGL绘制一系列矩形,但是一些应该出现在矩形下方的矩形出现在它上面.
启用我正在使用的深度功能
glClearDepth(1.0f);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
Run Code Online (Sandbox Code Playgroud)
我在每次平局开始时都使用gluLookAt.这是问题的图像.蓝色矩形的y值高于绿色矩形.

正如您在顶部图像中看到的,一些绿色矩形出现在蓝色矩形上方.知道为什么会这样,我能做些什么来修复它?它可能与我正在绘制矩形的顺序有关吗?
Rhy*_*man 12
清除颜色缓冲区时,还要清除深度缓冲区吗?
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
你确定图像不正确吗?其中一些绿色方块实际上
看起来比蓝色方块高.
您在所使用的窗口系统中启用了深度缓冲区吗?例如,使用过剩可能需要:glutInitDisplayMode(GLUT_DEPTH | ....);