裁剪是個很大的概念,裁剪包括了視錐體裁剪(應用程序階段)、視口裁剪(圖元裝配——幾何階段的最后一步)、背面剔除(光柵化階段)、遮擋剔除(光柵化階段)。
1.視錐體裁剪
視錐裁剪算法是在應用程序階段執行的。虛擬攝像機制定了場景對觀察者可見的部分,即我們將依據哪部分3D場景來創建2D圖像。
2. 視口裁剪
幾何階段處理結束后,送到光柵化階段的是一堆三角形面片,所以中幾何階段中需要對頂點進行圖元裝配。所謂的圖元裝配,即根據頂點原始的連接關系,還原出模型的網格結構。網格由頂點和索引組成,在之前的流水線中是對頂點的處理,而在這階段是根據索引將頂點連接中一起,組成線、面單元。然后對超出視口外的三角形進行裁剪(視口裁剪)。
3.背面剔除(光柵化階段)
渲染的對象都是三角面,有相機,就是有正面和反面。正面可以被看見,反面看不見,就需要渲染,就叫背面剔除。
4.遮擋裁剪
在cry引擎中的遮擋算法,使用的是軟件光柵化,大致流程就是,在編輯器中放置一些正交的長方體作為遮擋體,在渲染時,每幀都在CPU上面光柵化這些遮擋體(當然是在分辨率比較小的渲染目標上進行),然后對遠處物體進行查詢。
現代GPU中運用了Early-Z的技術,在Vertex階段和Fragment階段之間(光柵化之后,fragment之前)進行一次深度測試,如果深度測試失敗,就不必進行fragment階段的計算了,因此在性能上會有很大的提升。但是最終的ZTest仍然需要進行,以保證最終的遮擋關系結果正確。
二、遮擋剔除的方法
1. 傳統的PVS光線投射子劃分
將場景內相交的多邊形進行切割,保證場景內的三角形沒有相交(如bsp),將屏幕分成8x8的像素網格,做8x8條從視點開始的射線出去即可,這樣做能保證比較高效。然后對光線進行碰撞檢測看光線落到哪個多邊形上。如果相鄰射線沒有落在同一個三角形上,那么以這兩條射線的中點再做出一條新的射線出去,直到相鄰射線落在相同的三角形上或者同一個像素上。這樣相交多邊形中圍繞每束光線的多邊形基本都能被繪制了。性能很好但存在一定誤差,兩束光線中間極小的多邊形可能被錯過。
2. 光柵化線段遮擋法
不同于光柵化z,光柵化z計算量大些,這只是將待渲染多邊形光柵化為有左右兩個端點的水平掃描線,然后與同一行的掃描線進行比較和切割,只保留最靠近攝像機的線段,如果待繪制線段在該像素行比較下來全部被其它更靠近攝像機的線段覆蓋了,則該行不可見,三角形所有行不可見則該包圍體不可見。光柵化z適合gpu,這個方法更適合cpu,特別適合分辨率很高而多邊形數量不算太高的時候,優化方法是x軸均勻分為8個區間,這樣可以迅速的定位。
3. 八叉樹簡易PVS
說道簡易版本的 PVS,其實就是八叉樹了,這是很多3D引擎的偷懶版本實現:八叉樹組織空間,下面接 BSP, Portal,地形四叉樹lod,先判斷頂層包圍盒在不在視錐,不再就直接退出了,再的話,遞歸八個子節點的包圍盒再不再視錐,不再就直接剔除,再的話再在該節點遞歸下去
Untiiy5中的遮擋剔除使用的是Umbra的解決方案,Umbra也在虛幻3和虛幻4中作為插件來使用。
三、討論的兩個問答題
1.在Unity中遮擋剔除在渲染過程中,處于哪個階段?
遮擋剔除一般在光柵化階段進行。
關于遮擋剔除,開始的時候覺得應該在應用階段進行,只需要一個八叉樹的搜素,但是這個需要相機來判斷,其實相機作為為虛擬相機,只需要給對象做標記即可。
在官方文檔中說,遮擋剔除是需要在場景中建立一個虛擬相機,來判斷是否可見。準備好后,unity確保只有可見的對象送去渲染 。
unity中的遮擋裁剪以Cell作為基礎單元,每個cell對應一個二叉樹。unity中使用了兩顆樹,一棵對應靜態對象,一棵對應動態對象。
需要注意的是,對象若太大,對遮擋剔除來說,意義不大,太小構建時間太長,頂點數也多,造成過多的drawCall,總之,注意平衡!沒有放之四海而皆準的方法。
2.裁剪,相機(視錐體)的裁剪和背面剔除,這個是分別在不同階段。
視錐裁剪一般在應用程序階段進行, 這個沒有問題。而背面裁剪剔除一般在光柵化階段進行。
背面剔除在光柵化階段進行,在Vertex Shader 之后,在Fragment Shader片元著色器之前。
-
裁剪
+關注
關注
0文章
8瀏覽量
7166 -
PVS
+關注
關注
0文章
4瀏覽量
18850
原文標題:三維渲染中的裁剪總匯
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
什么讓三維掃描數據栩栩如生
三維快速建模技術與三維掃描建模的應用
廣西掃描服務三維檢測三維掃描儀
三維立體數字沙盤是是什么?
上海黃浦三維媒體動畫技術
廣州三維動畫制作流程(一)
基于掃描測量的三維人體模型
《三維聲編解碼及渲染》行業標準發布 三維菁彩聲將迎來更加穩健繁榮的產業生態
泰來三維|文物三維掃描,文物三維模型怎樣制作

評論