Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个四边形形成立方体的两侧..都有纹理映射到它们。
起初分层很好(较近的一侧在另一侧的“顶部”)。然而,当我旋转场景时,分层中断,因为现在应该在后面的层仍然在顶部。
我是否需要手动清除 z-buffer 之类的?
听起来您还没有启用深度测试。试试glEnable(GL_DEPTH_TEST)。
glEnable(GL_DEPTH_TEST)
顺便说一句,是的,您确实需要在每个周期明确清除 z 缓冲区,方法是运行glClear(GL_DEPTH_BUFFER_BIT). 如果您不这样做,那么没有给您带来麻烦的原因也可能是因为您没有使用深度缓冲区,因为您没有启用深度测试。
glClear(GL_DEPTH_BUFFER_BIT)
(在可能的情况下,您已经在每个周期都清除了颜色缓冲区,您可以将两者组合成clClear(GL_COLOR_BUFFER BIT | GL_DEPTH_BUFFER_BIT).)
clClear(GL_COLOR_BUFFER BIT | GL_DEPTH_BUFFER_BIT)