【问题标题】:OpenGL Shading Language TRANSFORM_TEXOpenGL 着色语言 TRANSFORM_TEX
【发布时间】:2013-02-18 17:42:34
【问题描述】:

在 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中的等价物是什么!

【问题讨论】:

    标签: unity3d shader


    【解决方案1】:

    它只是一个 Unity3D 特定的,没有 Cg 等价物。 你可以在文件中找到这个宏定义:

    Unity\Editor\Data\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 偏移量

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2011-04-19
      相关资源
      最近更新 更多