我在使用LineList绘制一个网格和重叠它的另一个(较大)网格会由于z战斗而使它们闪烁的问题。当多边形和线条重叠时,使用DepthBias将减少这种问题,但在两个单独的DrawIndexedPrimitives调用中绘制线条时显然不起作用。在XNA中的线条之间的Z战斗
目前,我通过在第二个网格的位置添加一个指向相机的小矢量来“固定”它以模拟DepthBias,但是当相机远离网格时问题仍然存在。
有没有更好的方法来解决这个问题?
我在使用LineList绘制一个网格和重叠它的另一个(较大)网格会由于z战斗而使它们闪烁的问题。当多边形和线条重叠时,使用DepthBias将减少这种问题,但在两个单独的DrawIndexedPrimitives调用中绘制线条时显然不起作用。在XNA中的线条之间的Z战斗
目前,我通过在第二个网格的位置添加一个指向相机的小矢量来“固定”它以模拟DepthBias,但是当相机远离网格时问题仍然存在。
有没有更好的方法来解决这个问题?
从我听说你应该看看你的剪辑平面。示例线程:xna.com
编辑:不知道,关于网格,但你可以随时尝试! :)
不幸的是,这是由于32位浮点数的精度有限(深度缓冲区使用)而导致的自然行为。您可以翻译一组最小行(因为你现在做的),并尽量选择你的裁剪平面接近尽可能彼此(如罗布提到的),或:
device.RenderState.CompareFunction = CompareFunction.Allways
禁用深度缓冲,不通过实际禁用缓冲区!
嘿,约翰,你已经解决了你的问题?我很好奇这个解决方案。 – 2010-07-08 21:41:07