【发布时间】:2014-10-27 06:23:45
【问题描述】:
渲染这些我自己编码的球体/圆柱体时,我得到了一种奇怪的效果。
顶点和索引是正确的,因为当我在 glDrawElements 中使用 GL_LINE_STRIP 而不是 GL_TRIANGLES 时,我的对象按预期呈现,所以没有重复的顶点,但是当我反转索引顺序时,我得到了相同的效果。
以下是使用 GL_TRIANGLES 渲染的对象,您可以看到在其中渲染的这些内圈:
以下是带有 GL_LINE_STRIP 的对象,我觉得几何形状很好:
我的顶点着色器代码是标准的 MVP * 顶点位置变换,而像素着色器代码只是输出一种颜色,没有做任何其他事情。
为了清楚起见,即使我反转索引,我仍然可以使用 GL_TRIANGLES 获得完全相同的图像,我仍然可以看穿物体,在网格内具有完全相同的圆圈。
【问题讨论】:
-
要么你没有启用 GL_DEPTH_TEST 要么你的面部剔除是错误的测试 glCullFace ( GL_FRONT);因为您的默认值是 glCullFace ( GL_BACK);
-
谢谢!我的面部剔除甚至没有启用。我必须启用它然后将其设置为 GL_FRONT