OpenGL-繪製管線

在一次面試的過程中,面試官問到了我這個問題。當時答得不是特別完善,回來翻閱了一下紅寶書,總結如下:

 

由於完整的繪製管線包括處理幾何數據和像素數據兩條,這裏只考慮幾何數據。如果以後有機會用到處理像素數據,再考慮。

 

(1)獲得頂點數據

如果使用了顯示列表,就從顯示列表中獲得被保存的數據;如果沒有使用顯示列表,則直接獲得頂點數據

 

(2)求值器

在某些情況下,比如處理參數化曲線,則需要通過求值器這個步驟,根據控制點計算出表面頂點。

 

(3)基於頂點的操作

將前兩步中傳送過來的頂點數據進行操作。執行的操作有:矩陣變換,生成紋理座標,根據設置的光照生成顏色值

 

(4)圖元裝配

圖元裝配將頂點裝配成幾何圖元,另一個主要內容是進行裁剪,透視處理,視口變換等等。

 

(5)光柵化

光柵化是把幾何數據和像素數據轉換爲片斷的過程。每個片斷方塊對應於幀緩衝區的一個像素。

 

(6)片斷操作

在數據實際存儲到幀緩衝區之前,還需要對片斷做些操作。比如生成紋理單元,霧計算,alpha測試,深度測試等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章