Pass块内置的那些标签都是针对渲染路径的,告诉渲染引擎这个Pas应该在什么渲染路径下被渲染。
Pass块的Name一般用来引用此Pass。这种引用意味着你可以定义一个Pass块,然后在其他Shader的Pass块中多次引用它。这是一种减少重复劳动的技巧,例如:
Shader "Custom/Shader_01" {SubShader {
Pass{
Name "ONE"
Material{
Diffuse(1,0.7,0.4,1)
Ambient(1,0.7,0.4,1)
}
Lighting On
SetTexture[_]{ combine primary }
}
}
}
这个Shader命名了一个Pass块,由于Unity的原因,命名时必须使用大写。下面这个Shader则通过这个名字引用了此Pass块:
Shader "Custom/Shader_02" {
SubShader {
UsePass "Custom/Shader_01/ONE"
}
}