1

好的,所以我有这个完整的工作场景,架子上有一个带扬声器的乙烯基播放器。一切正常(使用GLM的模型和纹理,使用 Mac-Cocoa 的界面)。

我现在正在实施的是一个“码头式”栏,其中有浮动专辑封面,因此您可以选择一个来播放。它目前工作得很好,但如果你放大得太远,它们就会落后于其他物体并消失。

我首先尝试的是:glDisable(GL_DEPTH_TEST)。但是当我这样做时,我专辑封面中的所有纹理(也是 3D 模型)都会变灰。

深度问题已按预期修复,但这里的问题在于纹理。我正在使用这个版本的 GLM 模型加载器:http ://devernay.free.fr/hacks/glm/ ,它会自动加载纹理。

GL_DEPTH_TEST 启用: GL_DEPTH_TEST 已启用

GL_DEPTH_TEST 禁用: GL_DEPTH_TEST 已禁用

有任何想法吗?

4

1 回答 1

5

如果无法访问您的代码和资产,这只是一种猜测,但看起来您的专辑封面模型既有正面也有背面。禁用后,将在GL_DEPTH_TEST正面之后绘制背面,并且由于跳过了深度测试,因此它会覆盖正面。

如果您还没有打开背面剔除,请尝试打开:

glEnable(GL_CULL_FACE);
于 2013-05-18T07:31:40.493 回答