OpenGL多边形渲染顺序

时间:2011-04-30 09:58:59

标签: c++ opengl render polygon

正如您所见:http://i.stack.imgur.com/ztM0v.png,某些多边形只是在其他多边形上呈现。有没有人有任何建议或相关阅读以正确的顺序呈现这些,以便它们不重叠?

3 个答案:

答案 0 :(得分:5)

对于不透明的面,只要您使用depth buffer

,渲染顺序就不重要了

NeHe有一本涵盖所有基础知识的教程。从这里开始http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02

另请参阅Opengl Depth buffer and CullingDepth Buffer in OpenGL

答案 1 :(得分:0)

您需要启用深度测试。确保

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL); //Maybe not this line but try it anyway, GL_DEPTH_TEST is the important one

在您的初始化代码中。

答案 2 :(得分:0)

您应确保已在投影视图或3d中设置矩阵模式,并始终使用3d。

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(p, (double) w / (double) h, arg1, arg2);

然后确保按此启用深度:

glEnable(GL_DEPTH_TEST);

接下来,使用GL ... 3f或GL ... 3d渲染到3D,其中...是您需要的任何功能。