如何在OpenGL中创建三角形图层?

时间:2013-07-07 17:35:55

标签: java layer renderer

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

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

上面的网站显示了锥体后面的三角形是如何出现在前面的三角形之上的。从正面角度看锥体。

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

1 个答案:

答案 0 :(得分:2)

首先,我认为问题与深度缓冲有关。 尝试通过调用以下函数启用z-buffering:

glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);

另外,请检查是否要清除z缓冲区以及颜色缓冲区。

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);