一下内容主要来自冯乐乐的《unity shader 入门精要》,学习笔记,这里斗胆作为原创发表。
这篇主要学习shader三大模块的基础:Properties、SubShader、Fallback。
1、Properties
首先上一直图片
然后,下面是示例的代码
Properties {
_Int("int",int)=2
_Float("float",float)=1.5
_Range("Range",Range(0.0,5.0))=3.0
_Color("Color",Color)=(1,1,1,1)
_2D("2D",2D)=""{}
_Cube("Cube",Cube)="white"{}
_3D("3D",3D)="black"{}
}
然后是SubShader的:
SubShader的语义块的定义如下:
SubShader
{
//可选的
[Tags]
//可选的
[RenderSetup]
Pass
{
}
//ohter pass
}
Pass以及可选的状态[RenderSetup]和标签[Tags],每个Pass定义了一次完整的渲染流程,但是如果Pass的数目过多,会造成渲染流程的下降
然后就是Pass的语义块:
Pass
{
[Name]
[Tags]
[RenderSetup]
//....
}