基本 OpenGL 作業
下圖說明 OpenGL 如何處理數據。 如所示,命令會從左側輸入,然後繼續處理管線。 某些命令會指定要繪製的幾何物件,而其他命令則控制對象在各種處理階段的處理方式。
基本 OpenGL 作業中的處理階段如下所示:
顯示清單 不要讓所有命令立即透過管線繼續執行,您可以選擇在顯示清單中累積其中一些命令以供稍後處理。
評估工具 評估工具處理階段,藉由評估輸入值的多項式命令,為曲線和表面幾何提供有效率的方式。
每個頂點作業和基本元件 OpenGL 會處理幾何基本點、折線段和多邊形,這些基本專案是由頂點描述。 頂點會轉換和點亮,而基本類型會裁剪到檢視區,以準備點陣化。
點陣化 點陣化階段會使用點、線段或多邊形的二維描述,產生一系列框架緩衝區位址和相關聯的值。 因此產生的每個片段都會饋送至最後一個階段、每個片段作業。
每個片段作業 這些作業是在數據儲存為圖元之前對數據執行的最終作業。
每個片段作業包括根據內送和先前儲存的 z 值(適用於 z 緩衝處理)和混合傳入圖元色彩與預存色彩的條件式更新,以及遮罩和其他圖元值的邏輯作業。
數據可以是以圖元形式輸入,而不是頂點。 以圖元形式呈現的數據,例如描述影像以用於紋理對應、略過上述處理的第一個階段,而是在圖元作業階段中以圖元形式處理。 下列像素作業會是像素資料:
- 儲存為紋理記憶體,以用於點陣化階段。
- 點陣化,產生的片段會合併到 framebuffer 中,就如同從幾何數據產生一樣。