#include <revolution/mtx.h>
void C_MTXMultVec ( const Mtx m, const Vec* src, Vec* dst );
void PSMTXMultVec ( const Mtx m, const Vec* src, Vec* dst );
#define MTXMultVec C_MTXMultVec // for debug build
#define MTXMultVec PSMTXMultVec // for nondebug build
m |
Source matrix for multiply. m may be either an Mtx or an MtxPtr. |
src |
Pointer to source Vec, the source vector to be multiplied. src may also be a pointer to a Point3d. |
dst |
Pointer to the vector (Vec type) resulting from the multiplication (m x src). dst may also be a pointer to a Point3d. src can be the same as dst. |
None.
Multiplies a 3D vector or point on the left with a matrix ( m x src = dst ).
For multiplication purposes, the vector is treated as a four-element column vector with an implied fourth w coordinate of 1.
During a debug build, MTXMultVec is interpreted as C_MTXMultVec, which is a normal C language version. During a non-debug build for a Broadway processor, the paired-singles equivalent of this function, PSMTXMultVec, will be automatically substituted. You can also call C_MTXMultVec or PSMTXMultVec explicitly.
Mtx, MtxPtr, Point3d, Point3dPtr, Vec, VecPtr, MTXMultVecSR, MTXMultVecArray, MTXMultVecArraySR
03/01/2006 Initial version.