0

我写了一些代码来加载一个 .obj 文件,在 3d 中一次一个三角形。这些三角形中的每一个都放置在正确的位置,并被赋予随机颜色。当加载完整的形状时,一些三角形,即使它们放在其他三角形的前面,也看不到后面。

http://postimg.org/image/ln31rhabd/

上面的网站显示了圆锥后面的三角形是如何出现在前面的上面的。锥体是从顶角观察的。

我该怎么做才能使顶部的那些实际上显示在顶部?它们是否按照每个三角形的创建顺序堆叠?

4

1 回答 1

2

一开始,我认为问题与深度缓冲有关。尝试通过调用以下函数来启用 z 缓冲:

glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);

此外,请检查您是否正在清除 z 缓冲区以及颜色缓冲区。

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
于 2013-07-07T17:42:32.697 回答