Shader|Pass中的标签设置与Fallback

一、 Pass

    Pass语义块结构如下:
  • Name:表示Pass的名称;
  1. 格式为:Name:“MyPass”,我们可以使用ShaderLab的UsePass命令来直接使用其他Unity Shader中的Pass,用于提高代码的复用性。
  2. 需要注意的是,由于Unity内部会把所有Pass的名称转换成大写字母表示,因此使用UsePass命令时必须使用大写形式,如:UsePass "MyShader/MYPASS"
  • Tags:Pass中的标签不同于SubShader中的标签,Pass中的标签类型如下:

    Shader|Pass中的标签设置与Fallback

  • Render Setup:SubShader的状态设置同样适用于Pass,除了SubShader中的状态,Pass中还可以使用固定管线的着色器命令。

  Shader|Pass中的标签设置与Fallback Shader|Pass中的标签设置与Fallback


    除了普通的Pass以外,Unity Shader还支持一些特殊的Pass,例如UsePass与GrabPass(负责抓取屏幕并将结果存储在一张纹理中,以用于后续的Pass处理)

二、Fallback

    Fallback的意义在于:当之前的SubShader在显卡上都不能运行时,就运行Fallback之后的这个低级的Shader。它的语法如下:

    Fallback "name"/Off