【问题标题】:Techniques for drawing coplanar polygons in OpenGL在OpenGL中绘制共面多边形的技术
【发布时间】:2010-08-08 03:15:56
【问题描述】:

我将创建具有多个共面多边形的网格,它们都位于某个平面上,我无法消除这些网格。

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

我不信任glPolygonOffset,因为我可能会有几个重叠的多边形,并且我担心偏移的累积效应。

【问题讨论】:

  • "在 OpenGL 中,除了 glPolygonOffset 和适当的剪裁之外,还有哪些方法可以绘制共面多边形,因为我希望以特定顺序绘制多边形?"

标签: opengl polygon


【解决方案1】:

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

只需禁用对 z-buffer 的写入,而不禁用深度测试。

glDepthMask(GL_FALSE);

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

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

glDepthMask documentation

【讨论】:

  • 深度蒙版技巧应该可以,尽管我开始意识到我必须弄清楚如何正确裁剪我的多边形以获得真正的稳健性。我之所以提出裁剪问​​题,是因为我的一些多边形实际上代表了贝塞尔曲线。
猜你喜欢
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多