GPU渲染管線

2021-09-29 03:31:40 字數 1862 閱讀 7764

3 光柵化階段

4總結

主要是為了得到三維頂點的法線,紋理等資料資訊;但是不能夠

幾何階段這個座標系轉化如下:

這個階段主要做的事情事頂點著色器(模型變換,檢視變換,頂點著色)

模型變換:將建模座標系轉化為世界座標系,相當於以物體為中心轉化為以世界為中心的轉化,可以理解為為模型統一乙個座標系

檢視變換:將世界座標系轉為觀察座標系。可以理解為統一座標系後要以個人的視野去觀察這堆模型,所以將世界座標系轉為為觀察座標系

頂點著色:確定頂點上材質上的光照效果;

幾何著色器:可選,輸入為頂點資料,對圖元的資料進行操作,可以新增頂點,使得更接近全面;

曲面細分著色器:沒有曲面細分著色器的時候,這個過程在應用程式cpu中進行計算,但是放在gpu中進行更高效

主要進行投影變換和裁剪,這個過程由gpu自動完成,

將規範化空間中的x,y座標轉化為螢幕座標系中。z值以及法線,紋理等資料都不會丟掉,都會傳送給光柵化階段

三角形的設定:輸入的是三角網格的頂點,而之後需要得到這個三角形網格對畫素的覆蓋情況,需要得到三角形編邊界的表示方式;就好比把頂點連線成了三角網格;

三角形遍歷的輸入就是前面三角形設定的結果;

以頂點資訊最終覆蓋三角形網格的畫素的位置,對應的這些畫素就形成了乙個片元;而片元中每個畫素的狀態都是根據三個頂點的資訊進行插值而得到的。其他的法線,紋理資訊都是通過插值計算出來的;

注意的是三角形的設定和三角形的遍歷都是渲染管線的固定部分,由管線自動完成;

目的

片元著色器之前的光柵化階段並不會影響螢幕上每個畫素點的顏色值;而是為產生一系列的資料資訊,用來描述乙個三角網格是如何覆蓋每個畫素的,每個片元用來儲存這些資料;片元著色器就可以根據這些輸入資料來計算每個片元的顏色值;這個階段可以完成很多任務作;比如紋理貼圖

目的:計算每個片元畫素的顏色值

片元操作

真正影響畫素的顏色必須進行逐片元操作;輸出合併階段或者融合階段;

將每個片元的深度與顏色和幀緩衝結合在起來的地方,片元著色已經算出了每乙個畫素的顏色值;但是為啥還要融合階段

目的:計算出每個畫素的顏色值;

整體輸入是三角形頂點,

然後得到三角形網格,

之後得到三角形網格對畫素點的覆蓋,

接著通過片元著色到得每個片元的顏色值,

最後通過融合計算出每個畫素點的顏色值

GPU渲染管線概述

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

GPU渲染管線概述

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

GPU渲染管線與shader

模型座標空間 世界座標空間 觀察座標空間 螢幕座標空間 其中從觀察空間 到 螢幕空間需要經過3步 cvv單位立方體,規範立方體 a用透視變換矩陣把頂點從視錐體中變換到裁剪空間 齊次空間,用齊次座標表示 b在 裁剪空間進行圖元裁剪 這裡就是視域剔除view frustum culling 然後齊次空間...