Невозможно загрузить вектор во фрагментный шейдер в Stage3D

Я пытаюсь загрузить вектор в шейдер, но он не работает, и я могу найти почему.

Вот код:

mov ft0.rgb, fc0.rgbb
tex ft1, v1.rggg, fs0 <2d, linear, nomip, repeat>
mov ft0.a, ft1.aaaa
mov oc, ft0

Где fc0 - вектор, который я пытаюсь загрузить:

С этой функцией я вызываю перед drawTriangles и представляю:

Engine.context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, Vector.<Number>([value1, value2, value3]));

Я отладил сцену с помощью Adobe Scout, и, очевидно, fc0 не имеет значения.

Если я подставлю последний ft0 для ft1, он будет работать, поскольку я рендеринг только текстуры.

Какие-либо предложения?

1 ответ

Решение

Загружаемый вектор должен содержать как минимум 4 элемента.

Смотрите описание параметра данных на этой странице.

Другие вопросы по тегам