正如您所见:http://i.stack.imgur.com/ztM0v.png,某些多边形只是在其他多边形上呈现。有没有人有任何建议或相关阅读以正确的顺序呈现这些,以便它们不重叠?
答案 0 :(得分:5)
对于不透明的面,只要您使用depth buffer。
,渲染顺序就不重要了NeHe有一本涵盖所有基础知识的教程。从这里开始http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02
答案 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,其中...是您需要的任何功能。