一、空间变换
UnityObjectToClipPos(v.vertex)
将模型空间下的顶点转换到齐次裁剪空间
与mul(UNITY_MATRIX_MVP,v.vertex)相等
它属于 #include "UnityCG.cginc",所以不要忘记添加
float4 col = tex2D(_MainTex, i.uv);
CG程序中用来在一张贴图中对一个点进行采样的方法,返回一个float4,这里对 _MainTex在输入点上进行了采样,并将其颜色的rbg值赋予了输出的像素颜色,将a值赋予透明度。
TRANSFORM_TEX
TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算, 确保材质球里的缩放和偏移设置是正确的。 (v.texcoord就是顶点的uv)
float4 _MainTex_ST 就是声明_MainTex是一张采样图,会进行UV运算,是使用TRANSFORM_TEX的必要条件!!
o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);
o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
这两句话是等价的
_MainTex_ST.xy中是tiling
_MainTex_ST.zw中是offset