Shaderlab 自訂和引用函式文件
建立函式庫腳本 cginc 建立一個文字文件 myCgIncloud.txt,並將副檔名改成 .cginc
.cginc { 定義文件,使用if判斷定義狀態,注意是 ifndef 不是 ifdef #ifndef myCgIncloud #define myCgIncloud
編寫函式
fixed4 cgFunction(fixed4 c)
{
return 1 - c;
}
結束判斷
#endif
}
引用文件函式 .shader {
CGPROGRAM
如果引用文件和Shader腳本在同一個資料夾[分支]上,就只需要 "myCgIncloud.cginc",如果
在不同分支的話,則是從分支開始 "path.../myCgIncloud.cginc" (需要斜線 / )
#include "myCgIncloud.cginc"
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
調用函式
return cgFunction(col);
}
}
註 : Unity 2020 版本似乎更改引用文件的路徑寫法了,若在不同資料夾中便從 Assets 開始寫下完整路徑 (這樣好多了==)
參考資料 https://blog.csdn.net/candycat1992/article/details/38920347