Shader筆記(渲染管線)

2021-08-18 14:26:49 字數 1362 閱讀 9104

頂點處理,面處理,光柵化,畫素處理

本地座標系:以模型自己為中心。比如旋轉、胳膊的擺動,等是以本地座標係為參考。

觀察座標系:以攝像機作為原點。

觀察座標系轉投影座標系:將每個物體模型的位置從觀察者所在的座標體系中,轉到觀察者投影平面上。

包括 面組裝 面擷取 面剔除

面組裝:

通常採用******** strip

面擷取 攝像機視角以外的頂點將被擷取掉。

面剔除 1.求法線判斷

正反面 法線:面的兩個向量相乘 結果是與該兩個向量垂直的,也就是這個面的法線。

2.視錐剔除:去掉在視錐外的面的部分。(就是距離鏡頭特別近的和距離鏡頭特別遠的。判斷方法:每個物體都有乙個距離攝像機距離的z值。通過硬體提供的深度快取(depth buffer或者z-buffer)來判斷。

3.遮擋剔除:去掉在覆蓋在其他面後面的面的部分。 也需要深度快取的支援。(深度快取其實就是一張0-255的圖層,每渲染乙個畫素都會進行當前畫素深度值的檢測,如果當前畫素的深度值小於已經儲存的深度值,說明這個畫素更靠近攝像頭,會把後面的遮蓋住,這時候更新深度值為該畫素。

所有的渲染管線工作都是在gpu中進行,結果放在視訊記憶體中,gpu每次輸出乙個

顏色值,放在

視訊記憶體裡,視訊記憶體有交換鏈,視訊記憶體每次輸出一幀,後面一幀進行運算繪製,前面一幀顯示完,後面一幀繪製完,進行交換,前面一幀快取清空,再進行繪製。

固定管線:dx提供的渲染流程,很多地方沒辦法加入自己的演算法,

可程式設計管線:shader 可以加入自己的演算法

固定渲染管線Shader

固定渲染管線是標準的幾何 光照 t l 管線,功能是固定的,它控制著世界 視 投影變換及固定光照控制和紋理混合 t l管線可以被渲染狀態控制,矩陣,光照及採製引數 固定渲染管線一般用於shader在老顯示卡無法顯示時的fallback 在shader的subshader都無法使用的時候呼叫 命令小括...

Shader基礎(渲染管線)

目的 將空間中的3d物體轉換成螢幕中的2d影象進行顯示出來 渲染繪圖管線流程 1.頂點處理 座標系的轉換 乙個模型有自身的方向 前方,上方,右方等 和中心點,既本地座標系 將這個模型放到場景當中,通過場景中的世界座標原點和世界座標的方向,計算出當前模型的世界座標,從本地座標系轉換到世界座標系 乙個模...

shader開發 3 渲染管線

shader 以可程式設計性可分為 固定渲染管線 和 可程式設計渲染管線 其中固定渲染管線主要是在老舊的顯示卡上,當時顯示卡還不具備程式設計能力 固定的由於都是設定各個功能 開啟關閉 所以自定義功能不強 所以現在都是可程式設計 固定的就跳過了 下面是乙個例子 shader custom guding...