2009-04-22 110 views
1

這個時候有希望的一個明智的問題...3D渲染 - 這個問題叫什麼?

查看原圖在上圖中,上半部分的紋理看起來不錯,但接着下半部分(在它旋轉多一點之後)紋理就分手了,而你可以看到形狀的內部?多邊形已經消失了?

這個問題叫什麼?我需要知道,所以在修復它時我知道該查找什麼!

順便說一下,我在Papervision中這樣做。如果你有機會知道修補程序(或者如果可能的話),如果你能指向正確的方向,我會允許你對自己感覺更好。

What is this called? http://i40.tinypic.com/6f40f4.jpg

感謝堆!

回答

8

我們稱之爲「z戰鬥」 - 但更常見的術語是z排序或z緩衝區問題。

我會試着解釋沒有圖表的問題第一。

3D渲染器通過從後到前繪製多邊形來工作。它通過將每個多邊形分配給離散數量的位置中的一個來完成。這適用於大多數場景。

當沒有足夠的插槽可以確定哪個多邊形在另一個之前時,會出現問題。

爲了解決它 - 這將取決於你的應用程序,但也有一些事情應該是共同所有:

  1. 確保世界的邊界框儘可能小。
  2. 增加顯示器的顏色深度。 OpenGL和Direct3D都可以將z插槽的數量與顯示器的分辨率相匹配。
  3. 增加數量/減小三角形的大小。較小的三角形受此影響較小 - 但會降低性能,因爲還有更多要繪製。

如果您在Windows上運行,則應將桌面設置爲最高分辨率。您的應用程序可能會將其選爲默認使用。

你可以在OpenGL和Direct3D渲染之間切換嗎?如果是這樣,那麼嘗試兩個,一個可能會比另一個更好的結果。

+0

Z-戰鬥!聽起來像F-Zero之後要玩的東西!我無法/尚未找到在Papervision中執行1和2的方法,但3卻有幫助。我表現出色,但我會找出一些方法。感謝堆! – Assembler 2009-04-22 10:02:39

1

似乎是某種Z緩衝區問題。不過,我並不熟悉你在那裏使用什麼,所以我可能無法幫到你。

0

你有多個覆蓋的紋理和/或多邊形?

從這裏看,當你有完全一致的曲面時,你會得到一個問題,但浮點錯誤意味着你不能一直看到正確的曲面。

+0

關閉...這是我半小時前的問題! – Assembler 2009-04-22 09:02:02

+0

或重複的多邊形/上完全相同的點的頂點,一般經過複製/粘貼-ING東西^^ – 2009-04-22 11:53:03

1

它被稱爲linear mapping,它是映射多邊形上紋理的一種方法。但是這種方法沒有透視校正,導致在極端角度下破壞紋理。

Linear Mapping Perspective Corrected texture mapping

線性紋理映射(上)和透視校正的紋理映射(向下)。

唯一的解決方法是增加更多的多邊形,這將創下性能(見this演示)。

1

在我看來更像是出了什麼問題,而不是Z-戰鬥貼花。 Z戰鬥通常有一些鋸齒狀的邊緣。該特定三角形的投影矩陣可能是錯誤的(考慮到問題的程度取決於相機的位置)。