在OpenGL中绘制共面多边形的技术

时间:2010-08-08 03:15:56

标签: opengl polygon

我将要有几个共面多边形的网格,这些多边形都位于某个平面上,我无法消除。

这些多边形具有特定的绘制顺序。一些多边形落后于其他多边形。如果我关闭深度测试,我将获得我想要的效果,但我希望能够将此网格定位在3D场景中。

我不相信glPolygonOffset,因为我可能会有几个重叠的多边形,我担心偏移的累积影响。

1 个答案:

答案 0 :(得分:4)

  

如果我关闭深度测试,我将获得我想要的效果,但我希望能够将此网格定位在3D场景中。

只需禁用写入z缓冲区,而不禁用深度测试。

glDepthMask(GL_FALSE);

确保在渲染任何多边形 glDepthMask(GL_FALSE)之前渲染所有不需要 glDepthMask(GL_FALSE) 的多边形; 否则对象将被错误地定位。

如果你不能这样做,那么你应该改变你的几何形状或改用纹理。

glDepthMask documentation