1. 程式人生 > >現在學習也不晚

現在學習也不晚

一個計算機圖形系統首先是一個計算機系統,隱藏,它必然包含一個通用計算機系統的所有部件。
圖形系統包含6個主要元素:

  1. 輸入裝置
  2. 中央處理單元(CPU)
  3. 圖形處理單元(GPU)
  4. 儲存器
  5. 幀快取
  6. 輸出裝置
    下圖描述了計算機圖形系統的結構:
    在這裡插入圖片描述

CPU

當我們使用滑鼠和鍵盤將圖形資料輸入時,資料將會移交給系統的中央處理單元(CPU)來處理。處理器要完成的圖形處理功能主要是獲取由應用程式生成的圖元(比如線、圓、多邊形)的屬性,併為幀快取中的畫素賦值,以最佳地表示這些圖元。

GPU

今天,幾乎所有的圖形系統都已經使用了專用的圖形處理單元(GPU),它是專門用來完成圖形處理功能的。GPU可以在系統的主機板上或者圖形卡中。

幀快取

實際上,所有的現代圖形系統都是基於光柵的。在這樣的圖形系統中,我們在輸出裝置上看到的影象是一個由圖形系統產生的圖形元素組成的陣列,圖形元素也叫畫素,畫素陣列也稱為光柵。
這些畫素都儲存再一個稱為幀快取的儲存區域中。幀快取可以看出是圖形系統的核心元素。幀快取中的畫素的數目叫作解析度,它決定了從影象中可以分辨出多少細節。
幀快取中會儲存很多的資訊:畫素的顏色值,深度資訊,精度資訊等。

圖形繪製流水線

在一個輔助的場景裡,可能會使用數千甚至數百萬個頂點來定義物件。為了生存儲存在幀快取中的影象,必須以相似的方式來處理這些頂點。我們就需要一條標準的流水線過程,通過模型的幾何資料生成所需要顯示的畫素需要四個主要步驟:

  1. 頂點處理
  2. 裁剪和圖元組裝
  3. 光柵化
  4. 片元處理

頂點處理

這個模組的主要功能是執行座標變換。這個模組也計算每個頂點的顏色值並改變每個頂點的其他屬性。
在成像國產中,有許多步驟可以看成是物件在不同座標系下表示之間的變換。比如從被定義的座標系下面轉換到照相機座標系(觀察座標系),不管是在觀察座標系下的還是在圖形軟體使用的其他座標系下的,最終必須轉換成再顯示座標系下的表示。座標系的每一次變換都可以用一個矩陣表示。座標系的多次變換可以表示為矩陣的相乘或者級聯,於是多個矩陣通過相乘就合併為一個矩陣。

裁剪和圖元組裝

因為成像系統不可能一次對整個場景成像,基於這個顯示,必須進行裁剪。
裁剪必須針對逐個圖元進行,而不是針對逐個頂點。這樣,在繪製流水線的這個階段裡,在裁剪執行之前,必須吧頂點組裝成像線段和多邊形這樣的圖元。所以,這個階段的輸出是一些其投影可以被成像的圖元。

光柵化

由裁剪模組得到的圖元仍然是用頂點表示的,為了生存幀快取中的畫素還必須做進一步處理。光柵化模組對每個圖元輸出一組片元。我們可以把片元看成是攜帶相關資訊的潛在畫素,片元所攜帶的資訊包括它的顏色和位置,使用這些資訊來更新幀快取中的物件位置的畫素。

片元處理

繪製流水線的最後一個模組利用光柵化模組生成片元來更新幀快取中的畫素。