在我使用OpenGL和GLUT的C++图形应用程序中,我想通过启用深度测试
glEnable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
Run Code Online (Sandbox Code Playgroud)
但是,这两行代码清除了我的屏幕,现在只是清晰的颜色.我想知道为什么.
我只是应该有一些原始的实心球和立方体.
Dre*_*all 10
听起来你已经忘记清除深度缓冲区,因此深度缓冲存储器中存在任何预先存在的垃圾,因此无法进行深度测试.尝试将GL_DEPTH_BUFFER_BIT添加到glClear()调用中,如下所示:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Run Code Online (Sandbox Code Playgroud)
祝好运!