相关文档
Unity Shader学习笔记(3)Unity Shader模板、结构、形式
Unity用户手册(2018.3)/ 图像图形参考 / 着色器参考ShaderLab语法
Unity Sahder语言结构
// 着色器名称 Shader "ShaderName" { // 属性 Properties { Name ("display name", PrpertyType) = DefaultValue } // 子着色器 SubShader { // 可选的,标签(告诉Unity如何、何时渲染对象)k [Tags] // 可选的,状态设置(开关混合、深度测试,剔除模式,设置深度测试使用函数) [RenderSetup] // 完整渲染流程 Pass { [Name] [Tags] [RanderSetup] } } //SubShader不能运行时执行(同时渲染阴影) Fallback "VertexLit" }
Shader |__Properties : 属性 |__SubShader : 子着色器,最少要有一个 |__SubShader |__SubShader |__[Tag] : 标签,可选。 |__[RenderSetup] : 状态设置,可选。 |__Pass : 一次完整的渲染流程。可以在里面声明标签和状态。 |__Pass |__Pass |__[Name]: Pass名称 |__[Tags]: 不同与Subshader的标签。 |__[RenderSetup]: 同SubShader,还可以使用固定管线的着色器命令。 |__嵌套Shader代码 |__Fallback : SubShader不能运行时执行