OpenGL對場景中的圖像進行渲染時所執行的主要圖形操作

1. 根據幾何圖元創建形狀,從而建立物體的數學描述。(OpenGL把點、直線、多邊形和位圖作爲基本的圖元。)

2. 在三維空間中排列物體,並選擇觀察複合場景的有利視角。

3. 計算所有物體的顏色。顏色可以由應用程序明確指定,可以根據特定的光照條件確定,也可以通過紋理貼到物體的表面而獲得,或者是上述三種操作的混合產物。這些操作可能使用着色器來執行,這樣可以顯示的控制所有的顏色計算,或者可能使用OpenGL的預編程算法在其內部執行(我們常用術語固定功能的管線來表示後者)。

4. 把物體的數學描述以及與物體相關的顏色信息轉換爲屏幕上的像素。這個過程叫做光柵化(rasterization)。

  在這些階段期間,OpenGL可能還會執行其他操作,例如消除被其他物體所遮擋的物體(或該物體的一部分)。此外,在場景被光柵化之後但在繪製到屏幕之前,仍然可以根據需要對像素數據執行一些操作。

  OpenGL必須實現這樣一個目標:顯示程序員所創建的圖形的計算機和運行圖形程序的計算機可以不相同。由多臺計算機通過一個數字網絡彼此連接在一起所組成的網絡計算機環境就屬於這種情況。在這種情況下,運行圖形程序併發出繪圖命令的計算機稱爲客戶機,接受這些命令並執行繪圖任務的計算機稱爲服務器。客戶機發送給服務器的命令的傳輸格式(稱爲協議)總是相同,因此OpenGL程序可以通過網絡運行,即使客戶機和服務器並不是同種類型的計算機。如果OpenGL程序並不是通過網絡運行的,那就只涉及一臺計算機,它既是客戶機也是服務器。


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