在半透明多边形中看到的工件(接缝),在openGL中有孔

时间:2017-02-16 07:55:16

标签: opengl

当在openGL中以半透明颜色渲染时,我有一个带有孔的多边形,它沿着镶嵌三角形的边缘显示某种伪影(通过GLUtesselator)。这有点奇怪,因为如果它以不透明的颜色绘制,相同的多边形就不会有这样的瑕疵。

被视为虚线的伪像从多边形的内圆延伸到外边界:

img

在多边形内部看到更多的文物:

img

看起来像两个相邻三角形之间颜色的α混合而出血。边缘。但我不知道如何缓解这个问题。

之前有没有人见过这个问题?或者有人可以指出问题可能是什么,并为我提供可能的解决方案?

1 个答案:

答案 0 :(得分:2)

OpenGL保证绘制两个共享边的三角形将只生成一次覆盖的片段,因此您可以渲染无伪影的半透明多边形。

但是,只有当两个三角形之间的两个顶点都相同时,此保证才会成立。如果您使用GL_SMOOTH_POLYGON对多边形进行反锯齿,它也不会成功。

在没有看到相关代码的情况下很难分辨出这是什么情况,但我肯定会检查共享边缘顶点的坐标,看看它们是否相同。