1

我有两个四边形形成立方体的两侧..都有纹理映射到它们。

起初分层很好(较近的一侧在另一侧的“顶部”)。然而,当我旋转场景时,分层中断,因为现在应该在后面的层仍然在顶部。

我是否需要手动清除 z-buffer 之类的?

4

1 回答 1

5

听起来您还没有启用深度测试。试试glEnable(GL_DEPTH_TEST)

顺便说一句,是的,您确实需要在每个周期明确清除 z 缓冲区,方法是运行glClear(GL_DEPTH_BUFFER_BIT). 如果您不这样做,那么没有给您带来麻烦的原因也可能是因为您没有使用深度缓冲区,因为您没有启用深度测试。

(在可能的情况下,您已经在每个周期都清除了颜色缓冲区,您可以将两者组合成clClear(GL_COLOR_BUFFER BIT | GL_DEPTH_BUFFER_BIT).)

于 2013-09-28T06:36:31.600 回答