Shader基礎(渲染管線)

2021-10-01 14:21:10 字數 771 閱讀 2785

目的:將空間中的3d物體轉換成螢幕中的2d影象進行顯示出來

渲染繪圖管線流程:

1.頂點處理(座標系的轉換)

乙個模型有自身的方向(前方,上方,右方等)和中心點,既本地座標系;

將這個模型放到場景當中,通過場景中的世界座標原點和世界座標的方向,計算出當前模型的世界座標,從本地座標系轉換到世界座標系;

乙個模型在不同的角度觀察,觀察的效果是不一樣的,在unity中,攝像機是觀察者,攝像機也有自己的方位,相對於每個模型來講,就有了乙個攝像機的觀察座標系;

有了觀察座標系以後,模型和攝像機都有自己的位置,最終渲染的時候,將模型投影到攝像機的畫面上,轉成了投影座標系;

攝像機有兩種渲染模式:正交和透視,正交沒有近大遠小的概念,透視有;

2.面處理

將所有的頂點連到一起,形成了面;

面剔除就是剔除攝像機看不到的面的那一部分,面擷取是攝像機看到的那一部分被擷取下來,在面剔除中,會產生一點能耗;

3.光柵化

表示的是將乙個面轉換成乙個乙個畫素;

階段是在vertex定義的方法中進行處理的,最後生成一系列的畫素的資訊

4.畫素處理

給每乙個畫素去著色的過程,紋理座標指的是當前畫素所對應的貼圖的座標

在fragment定義的方法中,根據得到的畫素的資訊,進行一些計算,來得到自己想要的顏色

總之,關於3d模型輸出為螢幕上的2d的過程分為四步:頂點處理(四個座標系的轉換)、面處理(面的擷取和剔除)、光柵化(乙個乙個的畫素排列成面)、畫素處理(為每個畫素著色);這樣就形成了在螢幕上所看到的畫面

固定渲染管線Shader

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

Shader筆記(渲染管線)

頂點處理,面處理,光柵化,畫素處理 本地座標系 以模型自己為中心。比如旋轉 胳膊的擺動,等是以本地座標係為參考。觀察座標系 以攝像機作為原點。觀察座標系轉投影座標系 將每個物體模型的位置從觀察者所在的座標體系中,轉到觀察者投影平面上。包括 面組裝 面擷取 面剔除 面組裝 通常採用 strip 面擷取...

shader開發 3 渲染管線

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