我在使用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