shadre - SubShader

来源:互联网 发布:软件功能过期怎么办 编辑:程序博客网 时间:2024/06/01 07:26

Syntax 语法

Subshader { [Tags] [CommonState] Passdef [Passdef …] }
通过可选标签,通用状态 和 一个Pass 定义的列表构成了子着色器。
Details 细节

  • 子着色器定义了一个渲染通道的列表,并可选是否为所有通道初始化所需要的通用状态。
  • 当Unity选择用于渲染的子着色器时,它为每一个被定义的通道渲染一次对象(可能会更多,这取决于光线的交互作用)。当对象的每一次渲染都是一次昂贵的操作时,你能选择使用最小数目的通道来定义着色器。当然,有时在一些显示硬件上需要的效果不能通过单次通道来完成。除了使用多次通道你别无选择。
  • 通道定义的类型包括a regular Pass, a Use Pass or a Grab Pass。
  • 任何出现在通道定义的状态同时也能整个子着色器块中可见。这将使得所有通道共享状态。

Example

// ...SubShader {    Pass {        Lighting Off        SetTexture [_MainTex] {}    }}// ...

这个着色器定义了一个单一的通道用来关闭任何光照,并只使用一个名叫_MainTex的纹理来显示网格。

0 0
原创粉丝点击