田 澤 張 駿 許宏杰
(西安翔騰微電子科技有限公司 西安 710068)
(航空工業(yè)西安航空計算技術(shù)研究所 西安 710068)
(集成電路與微系統(tǒng)設(shè)計航空科技重點實驗室 西安 710068)
3D 圖形處理與2D 圖形處理最顯著的區(qū)別在于引入了深度的概念,使繪制結(jié)果產(chǎn)生了有層次的空間立體真實感受。3D 幾何圖形繪制渲染過程中的一個重要步驟就是深度測試。幀緩沖區(qū)的顏色緩沖區(qū)存儲像素的顏色值,深度緩沖區(qū)存儲像素的深度值,深度測試將像素的深度值與當前深度緩沖區(qū)中對應(yīng)的值進行比較,如果大于深度緩沖區(qū)的值,則丟棄該部分的像素,否則利用這個像素對應(yīng)的深度值和顏色值分別更新深度緩沖區(qū)和顏色緩沖區(qū),這樣就實現(xiàn)了判斷該像素是否需要繪制的問題。
深度測試能避免對最終不會看到的像素點的繪制,從而提高圖形流水線的執(zhí)行效率,其功能是在圖形流水線中的片段處理階段實現(xiàn)的,在光柵化階段之后,對光柵化輸出的像素的深度數(shù)據(jù)進行比較測試,是圖形處理器(graphic processing unit,GPU)像素填充率性能指標的重要影響因素。
圖元光柵化(rasterization)將連續(xù)方式描述的幾何圖元(點、線、離散三角形和扇帶)的頂點數(shù)據(jù)轉(zhuǎn)換為由離散片元(fragment)組成的二維圖像。片元是最初級的像素,每個片元包括顏色值(RGBA)、深度值(Z)、二維屏幕坐標(X、Y)等信息,與幀緩沖中的一個像素對應(yīng)。在Nvidia、AMD 等主流圖形處理器普遍采用的IMR(immediately mode rendering)架構(gòu)[1]中,為了最終能夠正確顯示位置重疊區(qū)域圖形距離觀察者最近的圖元像素顏色,每一個像素的深度數(shù)據(jù)Z 都需要在片上進行緩存,以便進行實時深度測試來分辨當前正在繪制像素的深度值與已經(jīng)繪制完成的像素深度值之間的前后遮擋關(guān)系。……