Copy of SPMatrix.h File Reference

#include "Utils\SseUtils.h"
#include <fvec.h>
#include "SPMatrix.inl"

Classes

class  SPMatrix
class  SPVector
class  SPVector3

Defines

#define SPVector4   SPVector
#define _MASKSIGNs_   (*(F32vec4*)&__MASKSIGNs_)
#define _mm_ror_ps(vec, i)   (((i)%4) ? (_mm_shuffle_ps(vec,vec, _MM_SHUFFLE((unsigned char)(i+3)%4,(unsigned char)(i+2)%4,(unsigned char)(i+1)%4,(unsigned char)(i+0)%4))) : (vec))
#define _mm_rol_ps(vec, i)   (((i)%4) ? (_mm_shuffle_ps(vec,vec, _MM_SHUFFLE((unsigned char)(7-i)%4,(unsigned char)(6-i)%4,(unsigned char)(5-i)%4,(unsigned char)(4-i)%4))) : (vec))
#define _mm_abs_ps(vec)   _mm_andnot_ps(_MASKSIGNs_,vec)
#define _mm_neg_ps(vec)   _mm_xor_ps(_MASKSIGNs_,vec)

Functions

SPMatrix ZeroMatrix ()
SPMatrix IdentityMatrix ()
SPMatrix TranslateMatrix (const float dx, const float dy, const float dz)
SPMatrix ScaleMatrix (const float a, const float b, const float c)
SPMatrix ScaleMatrix (const float a)
SPMatrix RotateXMatrix (const float rads)
SPMatrix RotateYMatrix (const float rads)
SPMatrix RotateZMatrix (const float rads)
void MatrixMult (const SPMatrix &A, const SPMatrix &B, SPMatrix &Res)
void VectorMult (const SPVector &Vec, const SPMatrix &Mat, SPVector &Res)
SPMatrix MatrixMult (const SPMatrix &A, const SPMatrix &B)
SPMatrix MatrixInverse (SPMatrix &m)
float Determinant (SPMatrix &m)
SPMatrix MatrixTranspose (SPMatrix &m)

Variables

const _MM_ALIGN16 __int32 __MASKSIGNs_ [4]

Define Documentation

#define _MASKSIGNs_   (*(F32vec4*)&__MASKSIGNs_)

#define _mm_abs_ps ( vec   )     _mm_andnot_ps(_MASKSIGNs_,vec)

#define _mm_neg_ps ( vec   )     _mm_xor_ps(_MASKSIGNs_,vec)

#define _mm_rol_ps ( vec,
 )     (((i)%4) ? (_mm_shuffle_ps(vec,vec, _MM_SHUFFLE((unsigned char)(7-i)%4,(unsigned char)(6-i)%4,(unsigned char)(5-i)%4,(unsigned char)(4-i)%4))) : (vec))

#define _mm_ror_ps ( vec,
 )     (((i)%4) ? (_mm_shuffle_ps(vec,vec, _MM_SHUFFLE((unsigned char)(i+3)%4,(unsigned char)(i+2)%4,(unsigned char)(i+1)%4,(unsigned char)(i+0)%4))) : (vec))

#define SPVector4   SPVector


Function Documentation

float Determinant ( SPMatrix m  )  [inline]

SPMatrix IdentityMatrix (  )  [inline]

SPMatrix MatrixInverse ( SPMatrix m  )  [inline]

SPMatrix MatrixMult ( const SPMatrix A,
const SPMatrix B 
) [inline]

void MatrixMult ( const SPMatrix A,
const SPMatrix B,
SPMatrix Res 
) [inline]

SPMatrix MatrixTranspose ( SPMatrix m  )  [inline]

SPMatrix RotateXMatrix ( const float  rads  ) 

SPMatrix RotateYMatrix ( const float  rads  ) 

SPMatrix RotateZMatrix ( const float  rads  ) 

SPMatrix ScaleMatrix ( const float  a  ) 

SPMatrix ScaleMatrix ( const float  a,
const float  b,
const float  c 
)

SPMatrix TranslateMatrix ( const float  dx,
const float  dy,
const float  dz 
)

void VectorMult ( const SPVector Vec,
const SPMatrix Mat,
SPVector Res 
) [inline]

SPMatrix ZeroMatrix (  )  [inline]


Variable Documentation

const _MM_ALIGN16 __int32 __MASKSIGNs_[4]


Generated on Fri Nov 21 16:18:01 2008 for Raytracer by  doxygen 1.5.7.1