openGL中带有孔的半透明多边形中的瑕疵(接缝)

openGL中带有孔的半透明多边形中的瑕疵(接缝),opengl,Opengl,我有一个带孔的多边形,当在openGL中以半透明的颜色渲染时,它会沿着镶嵌三角形的接缝显示某种瑕疵(由Glusselator制作)。这有点奇怪,因为同一个多边形如果用不透明的颜色绘制,就不会有这种瑕疵 被视为从多边形的内圈延伸到外边界的点线的瑕疵: 在多边形内部可以看到更多的瑕疵: 它看起来像是两个相邻三角形边缘之间的alpha颜色混合出血。但我不知道如何缓解这个问题 以前有人见过这个问题吗?或者有人能指出问题所在并为我提供可能的解决方案吗?OpenGL保证绘制两个共享一条边的三角形将精确生

我有一个带孔的多边形,当在openGL中以半透明的颜色渲染时,它会沿着镶嵌三角形的接缝显示某种瑕疵(由Glusselator制作)。这有点奇怪,因为同一个多边形如果用不透明的颜色绘制,就不会有这种瑕疵

被视为从多边形的内圈延伸到外边界的点线的瑕疵:

在多边形内部可以看到更多的瑕疵:

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


以前有人见过这个问题吗?或者有人能指出问题所在并为我提供可能的解决方案吗?

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

但是,仅当该边的两个顶点在两个三角形之间相同时,此保证才有效。如果使用
GL\u SMOOTH\u POLYGON
对多边形进行反别名,则该选项也不会生效


如果看不到相关代码,很难判断这里是什么情况,但我肯定会检查共享边顶点的坐标,看看它们是否相同。

我是否认为您使用了10-20个多边形来合成它是正确的?你使用纹理还是纯色?为什么矩形有边框?请显示相关代码部分。您使用的深度测试是什么?您是对的。我能够检查共享边顶点的坐标,看看它们是否相同。虽然它们是一样的,但它们不是我想象的那样。它们被错误地四舍五入,因此失去了精度。我真的很感激你给我的指导;否则,我还是会对着错误的树吠叫。