Unity Shader之TRANSFORM_TEX方法

这半年来工作日程比较紧张,每天工作到深夜,所以博客就松懈了。手头的工作又转移到了shader上来,所以Blog继续。


TRANSFORM_TEX方法比较简单,就是将模型顶点的uv和Tiling、Offset两个变量进行运算,计算出实际显示用的定点uv。

该方法可以在UnityCG.cginc文件中找到,内容也很简单:

// Transforms 2D UV by scale/bias property
#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)
配合使用时的代码:

o.uv = TRANSFORM_TEX (v.texcoord, _MainTex);

其中

v是appdata_base类型,v.texcoord就是模型顶点的uv数据。

_MainTex是使用的图片。

name##_ST实际上就是_MainTex_ST。
name##_ST.xy就是Tiling的xy值。

name##_ST.zw就是Offset的xy值。


学海无涯,继续努力。

你可能感兴趣的:(unity,渲染,shader,unity)