0

我正在为我正在开发的太空游戏中的行星环添加阴影。为此,我需要计算圆柱体(行星的阴影)与平面(环的网格)相交的位置。

由于无法看到“sub”和“add”操作码如何处理寄存器的每个组件,我受到了阻碍。在此页面http://www.adobe.com/devnet/flashplayer/articles/what-is-agal.html上有一个图形说明了每个操作码的作用;它将加法和减法(在其他计算中)描述为“组件方式”。

这是否意味着,如果我添加或减去 3D 向量,x、y、z(和 w?)分量将相互独立地受到影响?而且,如果是这样,寄存器如何“知道”如果添加或减去例如 2 个数字不这样做?我是否需要分别处理 3D 向量的每个组件,还是只使用“添加”或“子”正确添加或减去 2 个向量?

4

1 回答 1

0
  1. 组件方式意味着每个向量分量将彼此分开添加/减去/等。例如,将两个向量相加:

    (x1, y1, z1, w1) + (x2, y2, z2, w2) = (x1 + x2, y1 + y2, z1 + z2, w1 + w2)

  2. 如果您只需要以任意顺序添加一些组件,则可以使用向量混合:

    v1.xzy + v2.wwx = (v1.x + v2.w, v1.z + v2.w, v1.y + v2.x)

于 2015-03-17T08:17:44.210 回答