BindChannels纹理绑定详解[Unity ShaderLab]

来源:互联网 发布:读书有用 知乎 编辑:程序博客网 时间:2024/05/18 02:47

首先,我们看一下官方关于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就是同样的道理)最后附上一个图示帮助大家理解,




1 0
原创粉丝点击