在CGPROGRAM這里分為頂點函數與片元函數。下面代碼有簡單的介紹每個函數,這個是固定的,就有點像unity中的一些生命周期函數。
Shader "BanMing/SecondShader" {
Properties {
}
SubShader {
Pass{
CGPROGRAM
//頂點函數,這里只是聲明頂點函數的函數名
//從模型空間轉換到剪裁空間的轉換(從游戲環境轉換到視野相機屏幕上)
#pragma vertex vert
//片元函數,這里只是聲明片元函數的函數名
//返回模型對應在屏幕上的每一個像素的顏色值
#pragma fragment frag
float4 vert(float4 v :POSITION) :SV_POSITION{
//通過語義告訴系統,我這個參數是干嘛的,比如POSITION是要告訴系統我要的頂點坐標
//SV_POSITION這個語義用來解釋說明返回值,意思是返回值時剪裁空間下的頂點坐標
return mul(UNITY_MATRIX_MVP,v);
}
fixed4 frag() :SV_Target {
return fixed4(1,1,1,1);
}
ENDCG
}
}
FallBack "Diffuse"
}