1

在我的项目中,我们将矩阵的一部分推送到用于骨架动画的常量寄存器中,并使用着色器中的矩阵索引访问它们,该索引也由常量寄存器传递。

带有 glsles 的示例着色器:

uniform highp vec4 mPalette[60];             //a part of the matrix for skeleton.
attribute highp vec4 _glesVertex;               //the input positions.
attribute vec4 mBlendindices;      //the matrix index.
void main ()
{
    gl_Position = mPalette[mBlendindices.x];
}

如果我分配值“mPalette”以使用常量寄存器:vc0 - vc59,分配值“mBlendindices”以使用常量寄存器:vc60,分配 _glesVertex 以使用顶点属性寄存器:va0。

如何将此着色器转换为 AGAL?

4

1 回答 1

1

完全一样。您应该将所有常量和属性传递给着色器(我假设您知道如何在 actionscript 中传递它)。接下来,在顶点着色器中:

mov op, vc[va.x]
于 2013-03-29T10:22:16.887 回答