您的位置:首页 > 其它

shadre - SubShader

2015-11-24 12:47 162 查看
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的纹理来显示网格。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: