一、概述
這篇文章主要講解渲染管線(rendering pipeline)的理論知識。
渲染管線是指:在給定一個3D場景的幾何描述及一架已確定位置和方向的虛擬攝像機(jī)(virtual camera)時,根據(jù)虛擬攝像機(jī)的視角生成2D圖像的一系列步驟。
下圖所示為構(gòu)成渲染管線的各個階段,以及與各個階段相關(guān)的內(nèi)存資源。
從上圖中我們可以看到,渲染管線就像工廠中的流水線,把各個處理過程分成不同的階段,各個階段可以獨立工作,這樣,各個階段就可以同時工作,效率自然就會比較高。3D渲染從最初的場景描述到最終的顯示結(jié)果,這整個過程就是在3D渲染管線中完成的。
這篇文章中,我們將詳細(xì)講解D3D11中渲染管線的各個階段。
二、渲染管線的各個階段
2.1 輸入裝配階段
輸入裝配(Input Assembler,簡稱IA)階段從內(nèi)存讀取幾何數(shù)據(jù)(頂點和索引)并將這些數(shù)據(jù)組合為幾何圖元(例如,三角形、直線)。我們通過指定圖元拓?fù)鋪砀嬖VDirect3D以何種方式組成幾何圖元。D3D11中常見的拓?fù)漕愋陀幸韵聨追N:
(1)點列表(point list):每個頂點都會被繪制為一個獨立的點,如下圖:
(2)線帶(line strip):前后相鄰的兩個頂點會形成一條直線,如下圖:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式