在unity3d中,有一段顶点着色器的代码:
v2f vert(appdata_full v) {
v2f o;
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
o.vertexColor = v.color * _TintColor;
return o;
}
在下面的行中:
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
TRANSFORM_TEX函数的主要任务是什么,它在CgFx中的等价是什么!
答案 0 :(得分:10)
这只是一个Unity3D
具体的宏,没有Cg
等价物。
您可以在文件中找到此宏定义:
统一\编辑\数据\ CGIncludes \ UnityCG.inc
这是以这种方式定义的:
// Transforms 2D UV by scale/bias property
#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)
它缩放和偏移纹理坐标。
XY
值控制纹理平铺和ZW
偏移。