AGAL Opcode mul и dp4

Я пытаюсь погрузиться в код AGAL и у меня есть несколько интересных для меня вопросов.

Первый вопрос касается опкодов mul и dp4
Если я прав, mul делает следующее

mul ft0, ft0, ft5 means ft0 = ft0 * ft5 which in fact is ft0.r*ft5.r +ft0.g*ft5.g+ft0.b*ft5.b+ft0.a*ft5.a

dp4 ft0, ft0, ft5 делает то же самое, что и mul, но вы можете изменить порядок, используя другой порядок компонентов, например ft0.argb?
Заранее спасибо!


person user3261305    schedule 01.02.2014    source источник


Ответы (1)


Нет, ты ошибаешься. mil означает ft0 = ft0 * ft5 = [ft0.r*ft5.r, ft0.g*ft5.g, ft0.b*ft5.b, ft0.a*ft5.a]. Вы получаете вектор. dp4 возвращает скаляр (ft0.r*ft5.r + ft0.g*ft5.g + ft0.b*ft5.b + ft0.a*ft5.a). И да, вы можете изменить "порядок" - это называется сиззлинг.

person nikitablack    schedule 03.02.2014
comment
Большое спасибо! Я думал, что все регистры являются векторами, я понятия не имел, что они могут быть скалярными. Не могли бы вы порекомендовать книгу или что-нибудь о кодах операций регистров в AGAL? - person user3261305; 03.02.2014
comment
Используйте эту ссылку в качестве памятки help.adobe.com/en_US/as3 /dev/ - person nikitablack; 04.02.2014