【问题标题】:Objects being rendered infront of others OpenGL在其他 OpenGL 面前渲染的对象
【发布时间】:2014-01-21 09:11:39
【问题描述】:

在使用 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安装盘)

【问题讨论】:

  • 您是否启用了深度测试?
  • 不,但是当我启用它时,我得到一个黑屏。

标签: c++ opengl render depth


【解决方案1】:

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

glEnable(GL_DEPTH_TEST);

否则我需要看看你在哪里设置了 opengl。

【讨论】:

  • 我做到了这一点,并将 GL_DEPTH_BUFFER_BIT 放入 glClear 并且它有效,只是一个愚蠢的错误。谢谢
  • 哈,别担心。很高兴我能帮上忙。
猜你喜欢
  • 2012-04-09
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 2015-01-19
  • 1970-01-01
  • 2010-11-21
相关资源
最近更新 更多