OpenGL深度问题

我正在画两个立方体,一个是红色的,一个是红色的,另一个是绿色的。 当我旋转相机,我可以看到通过红色立方体的绿色立方体。

在红色立方体后的绿色立方

我已经启用了深度testing,并清除了深度缓冲区。 顺便说一句,我使用OpenGL 4.4核心configuration文件和一个简单的漫reflection着色器。

Solutions Collecting From Web of "OpenGL深度问题"

我正在使用gl_Enable(GL_DEPTH_TEST); 只是在主循环之外的渲染过程的开始,所以我意识到我应该在渲染调用之前的每一帧设置渲染状态,所以我做了。

例:

 // main loop while(true) { // depth test gl_Enable(GL_DEPTH_TEST); // render calls... }