#include Vector3 multiplyVectorByMatrix( const Matrix4x4 &m, const Vector3 &v ) { Vector3 r; r.x = ( m.r0[ 0 ] * v.x ) + ( m.r0[ 1 ] * v.y ) + ( m.r0[ 2 ] * v.z ) + ( m.r0[ 3 ] ); r.y = ( m.r1[ 0 ] * v.x ) + ( m.r1[ 1 ] * v.y ) + ( m.r1[ 2 ] * v.z ) + ( m.r1[ 3 ] ); r.z = ( m.r2[ 0 ] * v.x ) + ( m.r2[ 1 ] * v.y ) + ( m.r2[ 2 ] * v.z ) + ( m.r2[ 3 ] ); return r; }