1 1 渲染管線概述

2021-08-01 19:26:36 字數 1331 閱讀 2093

說的俗一點就是可以理解為流水線。渲染管線我們可暫時理解為 從得到模型資料到繪製出影象 這一過程的稱呼。

工作任務:由乙個三維場景出發、生成(或者說渲染)一張二維影象。

換句話說,計算機需要從一系列的頂點資料、紋理等資訊出發,把這些資訊最終轉換成一張人眼可以看到的影象。

這個工作通常是由cpu和gpu共同完成。

渲染流程分為3個階段:應用階段、幾何階段、光柵化階段

注意:這裡僅僅是概念性階段,每個階段本身通常也是乙個流水線系統,即包含了子流水線階段。

為了更好理解和記憶這節內容,先來學下面幾個詞。

上面是可程式設計的渲染管線模型的示意。下面多說幾點:

小結

渲染管道是從得模型資料到影象生成過程的一種描述。vertex shader 能對頂點資料寫處理演算法,而 fragment shader 能對畫素資料寫處理演算法。

渲染流水線三個階段:

開發者具有這個階段的絕對控制權。

任務:

1/準備好場景資料,如:攝像機位置、視錐體、場景中包含哪些模型、使用了哪些光源等等。

2/ (為了提高渲染效能)做乙個粗粒度剔除工作,以把那些不可見的物體剔除出去,這樣就不需要再移交幾何階段處理。

3/設定好每個模型的渲染狀態,包括但不限於:使用的材質(漫反射顏色、高光反射顏色)、使用的紋理、使用的shader等。

這一階段最重要的輸出是渲染所需的幾何資訊,即渲染圖元

通俗來說,渲染圖元可以是點、線、三角麵等。這些渲染圖元將會被傳遞給下乙個階段–幾何階段。

幾何階段負責:和每個渲染圖元打交道,進行逐頂點、逐多邊形的操作。這個階段可以進一步分成更小的流水線階段。

重要任務

把頂點座標變換到螢幕空間中,再交給光柵器進行處理。

使用上個階段傳遞的資料來產生螢幕的畫素,並渲染出最終的影象。

主要任務

決定每個渲染圖元中的哪些畫素應該被繪製在螢幕上。

它需要對上乙個階段得到的逐頂點資料(例如紋理座標、頂點顏色等)進行插值,然後再進行逐畫素處理。

GPU渲染管線概述

頂點著色器是流水線的第乙個階段,它的輸入來自於cpu。頂點著色器的處理單位是頂點,也就是說輸入進來的每個頂點都會呼叫一次頂點著色器。頂點著色器需要完成的工作主要有 座標變換和逐頂點光照。當然,除了這兩個主要任務外,頂點著色器還可以輸出後續階段所需的資料。座標變換,顧名思義,就是對頂點的座標進行某種變...

GPU渲染管線概述

頂點著色器是流水線的第乙個階段,它的輸入來自於cpu。頂點著色器的處理單位是頂點,也就是說輸入進來的每個頂點都會呼叫一次頂點著色器。頂點著色器需要完成的工作主要有 座標變換和逐頂點光照。當然,除了這兩個主要任務外,頂點著色器還可以輸出後續階段所需的資料。座標變換,顧名思義,就是對頂點的座標進行某種變...

OpenGL ES渲染管線

渲染管線 graphics pipeline 在 opengl es 1.0 版本中,支援固定管線,而 opengl es 2.0 版本不再支援固定管線,只支援可程式設計管線。什麼是管線?什麼又是固定管線和可程式設計管線?管線 pipeline 也稱渲染管線,因為 opengl es在渲染處理過程中...