第四節:繪製第一個三角形
阿新 • • 發佈:2018-12-21
在OpenGL中,任何事物都在你3D空間中,而螢幕和視窗確實2D畫素陣列,這導致OpenGL的大部分工作都是關於把3D座標轉變為適應你螢幕的2D畫素。3D座標轉為2D座標的處理過程是由OpenGL的圖形渲染管線管理的。
圖形渲染管線可以被劃分為兩個主要部分:
- 第一部分把3D座標轉化為2D座標;
- 第二部分把2D座標轉變為實際的有顏色的畫素;
2D座標和畫素區別:2D座標精確表示一個點在2D空間中的位置;2D畫素是這個點的近似值,2D畫素受到螢幕/視窗解析度的限制.
圖形渲染管線:
圖形渲染管線接受一組3D座標,然偶把它們轉化為螢幕上的有色2D畫素輸出。圖形渲染管線可以被劃分為幾個階段,每個階段會把前一個階段的輸出作為輸入
下圖為圖形渲染管線:藍色部分為可自定義著色器
- 首先,我們以陣列的形式傳遞三個3D座標作為圖形渲染管線的輸入,用來表示一個三角形;實際上頂點資料是用頂點屬性表示的,可以包含任何我們想用的資料(例如一個頂點的位置,顏色,法線向量,紋理座標)等。
- 第一部分是頂點著色器,以每一個單獨的頂點作為輸入;頂點著色器的目的主要是執行3D座標變換。同時允許對頂點屬性進行一些基本處理。
fda
fdas
fdsa
asdfs