我正在尝试在基于 OpenGL 的渲染器中处理共面多边形上的 Z 冲突。由于遗留问题,我在很多方面都束手无策。主要是由于数据流在旧系统中的工作方式,渲染器必须是短视的。
用户可以在任意位置绘制几何图形,我没有真正的方法来检测他们何时决定重叠两个多边形。使用 glPolygonOffset,我需要具备这些知识来抵消或其他多边形。我也相当确定使用投影矩阵不会有帮助,因为由于数据的共面性质,Z-fighting 来自舍入误差。打开和关闭深度写入也不是一个真正的选择,因为我不知道这个问题何时会在渲染循环中发生。
所以建议?