在使用 java 和很少的 LWJGL 之后,我才开始使用 c++ 和 OpenGL。我一直在关注这些教程 http://ogldev.atspace.co.uk/在教程 13 左右,我开始玩自己的游戏。在创建了一些金字塔和四处移动的控件后,我注意到从一个角度看对象看起来很正常,但从另一个角度看其他对象后面的对象被渲染在前面。我已经看过这个问题了
Background object is drawn in front of foreground object in OpenGL?
并没有找到答案,所以现在我很困惑,决定创建一个 stackoverflow 帐户并提出一个问题。我会发布图片,但我没有足够的声誉,所以这里是它们的链接(一个 zip 文件中有 3 个)
http://www.mediafire.com/download/hucfisn0jytah7o/Game%20screenshots.zip
[编辑]
此外,尽管您可能需要知道,我正在使用 freeglut 和 glew(可能不是最佳选择,但我喜欢它)和 Visual Studio 2012、Windows 8.1(刚买了一台新笔记本电脑,还没有安装 Windows 7安装光盘)
最佳答案
听起来您需要在 opengl 中启用深度测试:
glEnable(GL_DEPTH_TEST);
否则我需要查看您设置 opengl 的位置。
关于c++ - 在其他 OpenGL 前面渲染的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908057/