0
據我的老師介紹,在某些情況下,Z緩衝算法需要畫家的算法來渲染2D圖像中的3D場景。我認爲Z-buffer算法作爲一個擴展,畫家的一個增強:對於我來說,Z-buffer算法可以做所有畫家能夠做的,甚至更多(多邊形和循環重疊的交集)。什麼時候Z緩衝算法需要畫家的算法?
但是,在某些情況下,如果不使用畫家的Z緩衝算法,它將無法正常工作......這些情況是什麼?
據我的老師介紹,在某些情況下,Z緩衝算法需要畫家的算法來渲染2D圖像中的3D場景。我認爲Z-buffer算法作爲一個擴展,畫家的一個增強:對於我來說,Z-buffer算法可以做所有畫家能夠做的,甚至更多(多邊形和循環重疊的交集)。什麼時候Z緩衝算法需要畫家的算法?
但是,在某些情況下,如果不使用畫家的Z緩衝算法,它將無法正常工作......這些情況是什麼?
至少一個原因從wiki
這些和其它的缺陷以導致的Z緩衝器技術的發展的算法,其可以通過在解決深度衝突被視爲畫家算法的發展,逐像素的基礎,減少了對基於深度渲染順序的需求。即使在這樣的系統中,有時也會使用畫家算法的變體。由於Z緩衝區實現通常依賴於硬件中實現的固定精度深度緩衝寄存器,因此舍入誤差會導致可見性問題。這些是多邊形之間關節處的重疊或間隙。 爲了避免這種情況,一些圖形引擎實現「overrender」,按照畫家算法給出的順序繪製兩個多邊形的受影響邊緣。這意味着某些像素實際上會被繪製兩次(如完整的畫家算法),但這隻發生在圖像的很小部分,並且具有可忽略的性能影響。
「這些是多邊形之間關節處的重疊或間隙。」:它讓我思考Z型格鬥(2個多邊形之間的關節處重疊),但是它沒有提到這種現象。 –