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
这个着色器定义了一个单一的通道用来关闭任何光照,并只使用一个名叫_MainTex的纹理来显示网格。
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的纹理来显示网格。
相关文章推荐
- 【IMPDP】实现不同用户之间的数据迁移——REMAP_SCHEMA参数
- 强连通分量(模板)
- Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新
- POJ - 2100 Graveyard Design
- tableView优化
- div+css页面布局-html代码
- Git 分支 - 分支的新建与合并
- ospf lsa笔记
- JPA基本注解
- iOS之系列设备的分辨率
- 指令 机器指令 汇编指令 指令系统 汇编指令的基本构成 操作数
- RESTful
- (十二)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【下】
- Unsplash.it - 实用的图片占位符,支持个性化设置
- [opencv] 将摄像头图像做镜像变换(split, merge, 矩阵相乘)
- 鼠标移动监听的注意事项
- shader - 属性
- POJ 1459 Power Network DINIC
- 出栈是如何操作的?指令:POP dest dest为16位操作数
- 链接数据库的问题