shaderlab 屬性型別和cg變數型別關率
關鍵字: color,vector cg: float3 half4 fixed4
關鍵字: range,float cg: float half,fixed
關鍵字:2d cg: sampler2d
關鍵字:cube cg: samplercube
關鍵字:3d
cg: sampler3d
(uniform fixed3 _color ,uniform僅作為變數初始值的相關資訊作用不大)
unity 常用包含檔案
unitycg.cginc 包含常用使用的幫助函式,巨集和結構體等
unityshadervariables.cginc
在編譯unity shader時,會被自動包含進來,包含了許多內建的全域性變數,如unity_matrix_mvp等
lighting.cginc
包含了各種內建光照模型,如果編寫的是su***ce shader的話,會自動包含進來
hlslsupport.cginc
在編譯unity shader時,會被自動包含進來,宣告了很多用於跨平台編譯的巨集和定義
unitycg.cginc常用結構體
v2f_img 頂點著色器輸出 (裁剪空間的位置,紋理座標)
unitycg.cginc常用幫助函式
float3 worldspaceviewdir(float4 v) (輸入頂點位置,返回世界空間中從該點到攝像機的觀察方向
float3 objspaceviewdir(float4 v)
(輸入頂點座標,返回模型空間中從該點到攝像機的觀察方向a)
float3 worldspacelightdir(float4 v) (僅可用於前向演染中,輸入頂點座標,返回世界空間中從該點到光源的光照方向,沒有被歸一化)
float3 objspacelightdir(float3 v) (僅可用於前向渲染中,輸入乙個模型空間中的頂點座標,返回模型空間中從該點到光源的光照方向,沒有被歸一化)
float3 unityobjecttoworldnormal(float3 norm) (把法線方向從模型空間轉換到世界空間中)
float3 unityobjecttoworlddir(int float3 dir) (把方向向量從模型空間變換到世界空間中)
float3 unityworldtoobjectdir(float3 dir)
(把方向向量從世界空間變抽象到模型空間中)
傳入到頂點著色器中的模型頂點資料 unity常用支援語義
position 模型空間中的頂點座標 通常是float4
normal 頂點法線 通常是float3型別
tangent 頂點切線 通常是float4型別
texcoord 該頂點的紋理座標, 通常是float2或者float4型別
color 頂點顏色 通常是fixed4或float4型別
傳入到片元著色器(又可以叫做頂點著色器的輸出) untiy常用支援語義
sv_position 裁剪空間中的頂點座標,結構體中必須包含到乙個用該語義修飾的變數,
color0 通常用於輸出第一組頂點顏色,
color1 通常用於輸出第二組頂點顏色
texcoord0-texcoord7 通常用於輸出紋理座標
片元著色器輸出資料 untiy常用支援語義
sv_target 輸出值將會儲存到渲染目標中,等同於directx9中的color語義,但最好使用sv_target
Unity 流光shader 記錄分享
shader custom datafloweffect specular specular color 1,1,1,1 gloss gloss range 0 255 20.0 flowtex flow tex a 2d black flowcolor flow color rgba color ...
簡易shader實踐記錄4 流光效果
分享乙個流光效果 流光貼圖 2d white materialtoggle wualpha 黑白流光圖無alpha時勾選 float 0 liuguang color 流光 color color 0.5,0.5,0.5,1 liuguang qiangdu 流光強度 float 3 uvscale...
shader常用數學函式整理(持續更新)
step a,b b a 1 0 smoothstep x,y,a a如果小於x返回0 如果a y返回1 在x y之間返回 3a 2 2a 3 saturate x 如果x取值小於0,則返回值為0。如果x取值大於1,則返回值為1。若x在0到1之間,則直接返回x的值.lerp a,b,w a,b,w ...