您的位置:首页 > 移动开发 > Unity3D

BindChannels纹理绑定详解[Unity ShaderLab]

2016-08-05 05:35 621 查看
原文地址:http://blog.csdn.net/cubesky/article/details/38582283

首先,我们看一下官方关于BindChannels的描述



那么对于texture,bind的定义就是类似于:

Bind  uv0,  texture stage    (以map the primary UV set to be used in the first texture stage为例)

我们再来看一下在shader中的实际用法,这里以Unity内置的Vertexlit为例,



其实,刚开始看到shader中的注释的时候,很是疑惑,比如说为什么说lightmap使用2ndUV呢?并且这里一定要明白哪一个是src,哪一个是dst,否则因为都是texcoord0,texcoord1,很容易晕的



明白这个之后,对照我前面关于bind texture的定义,其实就比较OK了,这里的一个比较难理解的地方就是first texture stage,实际上first texture stage是指第一个处理setTexture的阶段,在这个示例中,我们第一阶段处理的是lightmap,所以,这里的texcoord0(dst)指的就是lightmap,(后面的maintex就是同样的道理)最后附上一个图示帮助大家理解,

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息