2012-01-23 4 views
1

Я в основном видел примеры, где Объект Matrix3D передается как регистр констант вершин в AS3 в Context3D объект. Но никогда не видели матрицу в каких-либо других типах регистров (Временный или атрибут).Могут ли матрицы существовать на вершинных регистрах, кроме констант вершин в AGAL?

Будет ли какой-либо способ скопировать константу вершин матрицы в временный регистр, а затем манипулировать отдельными полями этого временного регистра Matrix (например, для вращения) с другими заданными значениями (атрибуты вершин или другие константы)?

Может ли простая операция mov dest, source сделать трюк?

ответ

2

Да, это работает (возьмите его с Mole :)). Просто убедитесь, что вы скопировали достаточно (3 или 4) регистра. Также хороший способ подумать о матричных операциях состоит в том, что они являются просто ярлыком для инструкций продукта 3 или 4 точки. В AGAL действительно ничего не напечатано, матрица - это всего лишь несколько последовательных регистров. Функции загрузки матрицы - это только удобство для загрузки в 4 регистра в одном вызове. И в затенении

m44 dest, src, srcmatrix

точно такой же, как:

dp4 dest.x srx, srcmatrix 
dp4 dest.y srx, srcmatrix+1 
dp4 dest.z srx, srcmatrix+2 
dp4 dest.w srx, srcmatrix+3 

+1 и т.д. здесь означает номер регистра +1 и т.д.

0

Я почти некоторые временные регистры содержат матрицы, и что ваш запрос можно, но вы можете получить лучший ответ от кого-то, как Марко Scabia:

http://iflash3d.com/

Он очень доступный и знающие гал ,

+0

Nice! Вероятно, это поможет мне в решении вопросов AGAL, ​​которые я буду иметь в будущем! – bigp

+1

Я рад :) Я знаю, насколько хороши хорошие ресурсы AGAL. Удачи! –

 Смежные вопросы

  • Нет связанных вопросов^_^