0
我需要實現以下目標:正確的方式來處理2D的z索引的3D場景(的DirectX)
兩個2D四邊形看起來好像他們是在的其他(如兩半的頂部堆疊相同的紋理),但實際上在z軸上由n個座標分隔。所以如果一個3D物體在它們之間通過,那麼一半出現在物體前面,另一半出現在物體後面。
我可以通過對兩個四邊形應用正交投影,然後對其餘三維數據進行正常透視來實現這一點嗎?這會損失深度數據嗎?
我希望我的例子不是太誤導人!
我需要實現以下目標:正確的方式來處理2D的z索引的3D場景(的DirectX)
兩個2D四邊形看起來好像他們是在的其他(如兩半的頂部堆疊相同的紋理),但實際上在z軸上由n個座標分隔。所以如果一個3D物體在它們之間通過,那麼一半出現在物體前面,另一半出現在物體後面。
我可以通過對兩個四邊形應用正交投影,然後對其餘三維數據進行正常透視來實現這一點嗎?這會損失深度數據嗎?
我希望我的例子不是太誤導人!
簡單的答案是肯定的,如果你在渲染你的四邊形時打開了z寫。除非明確地執行,否則不會丟棄z數據。
但是,獲得與投影深度很好地匹配的正方形深度可能會非常棘手。 (我從來沒有嘗試過,但我想它不會很好地排隊。)在這種情況下,最好的辦法是請執行下列操作之一:
我假設您已經知道前兩種方法的缺點,所以如果這是可以接受的,則由您決定。我認爲第三種方法是最傳統的。