Adobe提供的PerspectiveMatrix3D.as中Look方法存在错误
Adobe提供的PerspectiveMatrix3D.as中Look方法存在错误,下面以LookRH为例给出正确的代码
public function lookAtRH(eye:Vector3D, at:Vector3D, up:Vector3D):void {
_z.copyFrom(eye);
_z.decrementBy(at);
_z.normalize();
_x.copyFrom(up);
_crossProductTo(_x, _z);
_x.normalize();
_y.copyFrom(_z);
_crossProductTo(_y, _x);
_x.w = -_x.dotProduct(eye);
_y.w = -_y.dotProduct(eye);
_z.w = -_z.dotProduct(eye);
_w.setTo(0, 0, 0);
_w.w = 1;
copyRowFrom(0, _x);
copyRowFrom(1, _y);
copyRowFrom(2, _z);
copyRowFrom(3, _w);
}