Version: 2023.2
ShaderLab: specifying package requirements
ShaderLab:使用 Category 代码块对命令进行分组

ShaderLab:命令

本页面介绍有关在 ShaderLab 语言中使用命令的信息。

ShaderLab 命令分为以下类别:

  • 用于在 GPU 上设置渲染状态的命令。
  • 用于创建具有特定用途的通道。
  • 如果使用旧版 “fixed function style” 命令,无需编写 HLSL 也可创建着色器程序。

可以通过 Category 代码块将 ShaderLab 命令组合起来。

用于设置渲染状态的命令

在 Pass 代码块中使用这些命令可为该 Pass 设置渲染状态,或者在 SubShader 代码块中使用这些命令可为该 SubShader 以及其中的所有 Pass 设置渲染状态。

  • AlphaToMask:设置 alpha-to-coverage 模式。
  • Blend:启用和配置 alpha 混合。
  • BlendOp:设置 Blend 命令使用的操作。
  • ColorMask:设置颜色通道写入掩码。
  • Conservative:启用和禁用保守光栅化。
  • Cull:设置多边形剔除模式。
  • Offset:设置多边形深度偏移。
  • Stencil:配置模板测试,以及向模板缓冲区写入的内容。
  • ZClip:设置深度剪辑模式。
  • ZTest:设置深度测试模式。
  • ZWrite:设置深度缓冲区写入模式。

通道命令

在 SubShader 中使用这些命令可定义具有特定用途的通道。

  • UsePass 定义一个通道,它从另一个 Shader 对象导入指定的通道的内容。
  • GrabPass 创建一个通道,将屏幕内容抓取到纹理中,以便在之后的通道中使用。

旧版“固定函数样式”命令

这些命令的文档在页面 ShaderLab 旧版功能上。

ShaderLab: specifying package requirements
ShaderLab:使用 Category 代码块对命令进行分组