0

我正在尝试深入研究 AGAL 代码并有一些对我来说很有趣的问题。

第一个问题是关于操作码的muldp4
如果我是对的,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
先感谢您!

4

1 回答 1

0

不,你错了。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)。是的,你可以改变一个“订单”——它被称为 swizzling。

于 2014-02-03T07:31:45.057 回答