一个Shader可以针对不同的显卡配置多个SubShader【子着色器】
Shader "File/Hibari"
{
Properties{}
SubShader//子着色器
{
Tags {"键"="值"}//Tage【标签】
LOD 100 //【细节等级】
//ShaderLabCommands【渲染器命令】
//渲染
pass
{
//ShaderLabCommands【渲染器命令】
}
}
Fallback "VertexLit"
}
Tags 设置如何渲染
通过键值对的方式,设置Shader在流水线中的一些设置(例如控制渲染顺序) ⚠️注意:如果有多个键值对,用空格隔开
SubShader
{
Tags {"RenderType"="Opaque" "Queue"="Transparent"}
}
ShaderLabCommands 渲染命令
设置一些背面剔除、混合模式等操作
SubShader
{
//ShaderLabCommands
Call Off
ZTest Always
ZWeite On
BlendOp Add
LOD 100
}
Pass 渲染语义块
一个Pass就是一次渲染,Pass用来写如何进行渲染的 ⚠️注意:一个SubShader可以有多个Pass(即多次渲染)但最少需要1个Pass
SubShader
{
Pass
{
CGPROGRAM
//渲染程序体
ENDCG
}
}