我遇到的问题是使用LineList绘制网格而另一个(较大的)网格重叠会因为z-fighting而使它们闪烁。当多边形和线条重叠时,使用DepthBias会减少这种问题,但在两个单独的DrawIndexedPrimitives调用中绘制线条时,它显然不起作用。
目前我通过在第二个网格的位置添加一个指向相机的小矢量来模拟DepthBias来“固定”它,但是当相机远离网格时问题仍然存在。
有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
据我所知,你应该看看你的剪辑平面。示例线程:xna.com
编辑:Dunno,关于网格,但你可以随时尝试! :)
答案 1 :(得分:0)
不幸的是,由于32位浮点数的精度有限(深度缓冲区使用),这是自然行为。你可以最低限度地翻译一组线(就像你现在一样),并尽可能选择你的剪裁平面尽可能彼此接近(如Rob所说),或者:
device.RenderState.CompareFunction = CompareFunction.Allways
来禁用深度缓冲区,而不是实际禁用缓冲区!