Шейдер о скелетной анимации в AGAL
В моем проекте мы помещаем часть матрицы в постоянные регистры для анимации скелета и обращаемся к ним с помощью индекса матрицы в шейдере, который также передается постоянными регистрами.
образец шейдера с 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?
1 ответ
Абсолютно то же самое. Вы должны передать все свои константы и атрибуты шейдерам (я полагаю, вы знаете, как передать их в ActionScript). Далее в вершинном шейдере:
mov op, vc[va.x]