在其他OpenGL之前渲染的对象 我刚刚开始使用C++和OpenGL,使用了java和很少的LWJGL。我一直在学习这些教程,在教程13左右,我开始自己玩一些。在创建一些棱锥体和控件来四处移动之后,我注意到从一个角度看对象时,它们看起来很正常,但从另一个角度看,其他对象后面的对象在前面被渲染。我已经看过这个问题了

在其他OpenGL之前渲染的对象 我刚刚开始使用C++和OpenGL,使用了java和很少的LWJGL。我一直在学习这些教程,在教程13左右,我开始自己玩一些。在创建一些棱锥体和控件来四处移动之后,我注意到从一个角度看对象时,它们看起来很正常,但从另一个角度看,其他对象后面的对象在前面被渲染。我已经看过这个问题了,c++,opengl,render,depth,C++,Opengl,Render,Depth,没有找到答案,所以现在我很困惑,决定建立一个stackoverflow帐户并问一个问题。我会发布照片,但我没有足够的声誉,所以这里有一个链接到它们(一个zip文件中有3个) [编辑] 另外,我想您可能需要知道,我正在使用freeglut和glew(可能不是最好的选择,但我喜欢它)和Visual Studio 2012、Windows 8.1(刚买了一台新笔记本电脑,还没有Windows 7安装光盘)听起来您需要在opengl中启用深度测试: glEnable(GL_DEPTH_TEST);

没有找到答案,所以现在我很困惑,决定建立一个stackoverflow帐户并问一个问题。我会发布照片,但我没有足够的声誉,所以这里有一个链接到它们(一个zip文件中有3个)

[编辑]


另外,我想您可能需要知道,我正在使用freeglut和glew(可能不是最好的选择,但我喜欢它)和Visual Studio 2012、Windows 8.1(刚买了一台新笔记本电脑,还没有Windows 7安装光盘)

听起来您需要在opengl中启用深度测试:

glEnable(GL_DEPTH_TEST);

否则,我需要查看您在哪里设置opengl。

听起来您需要在opengl中启用深度测试:

glEnable(GL_DEPTH_TEST);

否则,我需要查看您在哪里设置opengl。

您启用了深度测试吗?没有,但当我启用它时,我会看到一个黑屏。您启用了深度测试吗?没有,但当我启用它时,我会看到一个黑屏。我这样做的同时,在glClear中添加了GL_depth_BUFFER_位,它工作了,只是一个愚蠢的错误。谢谢,别担心。很高兴我能帮上忙。我做得很好,还把GL_DEPTH_BUFFER_位放在glClear中,结果成功了,只是一个愚蠢的错误。谢谢,别担心。很高兴我能帮忙。