固定渲染管線Shader

2021-08-11 18:00:25 字數 1792 閱讀 3015

固定渲染管線是標準的幾何&光照(t&l)管線,功能是固定的,它控制著世界、視、投影變換及固定光照控制和紋理混合

t&l管線可以被渲染狀態控制,矩陣,光照及採製引數

固定渲染管線一般用於shader在老顯示卡無法顯示時的fallback(在shader的subshader都無法使用的時候呼叫)

命令小括號寫法是固定寫法

大括號寫法是變數寫法,可以傳乙個自定義變數進去

shader "custom/fixfunction" 

subshader }

fallback "diffuse"

}

命令塊以最基本的材質material命令塊為例子,新增乙個命令塊時候其後新增乙個大括號

大括號後面是存放著變數(可以多個)

以下是乙個material命令塊寫法

shader "custom/fixfunction" 

subshader

}} fallback "diffuse"

}

顯示效果如下圖所示

改變_diffusecolor漫反射顏色的值發現cube顏色並沒有改變

這是因為還沒有開啟開關屬性

開關命令

以上說到改變_diffusecolor的值沒有改變cube顏色

這是因為沒有開啟燈光開關

這是使用到乙個開關屬性

**如下

shader "custom/fixfunction" 

subshader

lighting on

} }fallback "diffuse"

}

其他材質塊命令

shader "custom/fixfunction" 

subshader

lighting on

separatespecular on

} }fallback "diffuse"

}

貼圖命令塊

//固定渲染管線shader

shader "custom/fixfunction"

_scecondtexture("scecondtexture",2d)="white"{}

_constantcolor("conatantcolor",color)=(1,1,1,1)

} subshader

blend srcalpha oneminussrcalpha

pass

lighting on

separatespecular on

//設定紋理

//此時命令塊中的texture就是指_maintexture

settexture[_maintexture]

//設定紋理

//此時命令塊中的texture就是指_scecondtexture

settexture[_scecondtexture]

}} fallback "diffuse"

}

最終渲染效果如下圖所示

屬性面板引數如下

Shader筆記(渲染管線)

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

Shader基礎(渲染管線)

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

固定渲染管線流程

渲染管線是指為了在顯示器上顯示影象而經過的一系列必要操作,具體流程如下 1 自身座標系 在自身座標系中建模不像在世界座標系中要考慮本物體相對於其他物體的位置 大小 方向關係。2 世界座標系 一旦我們構造了各種模型,它們都在自己的自身座標系中,但是我們需要把它們都放到同乙個世界座標系中。物體從自身座標...