All Classes Functions Variables Typedefs Enumerations Groups
Classes | Typedefs
Matrix Controls

Classes

struct  GPU_MatrixStack
 

Typedefs

typedef struct GPU_MatrixStack GPU_MatrixStack
 
DECLSPEC float SDLCALL GPU_VectorLength (float *vec3)
 
DECLSPEC void SDLCALL GPU_VectorNormalize (float *vec3)
 
DECLSPEC float SDLCALL GPU_VectorDot (float *A, float *B)
 
DECLSPEC void SDLCALL GPU_VectorCross (float *result, float *A, float *B)
 
DECLSPEC void SDLCALL GPU_VectorCopy (float *result, float *A)
 
DECLSPEC void SDLCALL GPU_VectorApplyMatrix (float *vec3, float *matrix_4x4)
 
DECLSPEC void SDLCALL GPU_MatrixCopy (float *result, const float *A)
 
DECLSPEC void SDLCALL GPU_MatrixIdentity (float *result)
 
DECLSPEC void SDLCALL GPU_MatrixOrtho (float *result, float left, float right, float bottom, float top, float near, float far)
 
DECLSPEC void SDLCALL GPU_MatrixFrustum (float *result, float left, float right, float bottom, float top, float near, float far)
 
DECLSPEC void SDLCALL GPU_MatrixPerspective (float *result, float fovy, float aspect, float zNear, float zFar)
 
DECLSPEC void SDLCALL GPU_MatrixLookAt (float *matrix, float eye_x, float eye_y, float eye_z, float target_x, float target_y, float target_z, float up_x, float up_y, float up_z)
 
DECLSPEC void SDLCALL GPU_MatrixTranslate (float *result, float x, float y, float z)
 
DECLSPEC void SDLCALL GPU_MatrixScale (float *result, float sx, float sy, float sz)
 
DECLSPEC void SDLCALL GPU_MatrixRotate (float *result, float degrees, float x, float y, float z)
 
DECLSPEC void SDLCALL GPU_Multiply4x4 (float *result, float *A, float *B)
 
DECLSPEC void SDLCALL GPU_MultiplyAndAssign (float *result, float *B)
 
DECLSPEC const char *SDLCALL GPU_GetMatrixString (float *A)
 
DECLSPEC float *SDLCALL GPU_GetCurrentMatrix (void)
 
DECLSPEC float *SDLCALL GPU_GetModelView (void)
 
DECLSPEC float *SDLCALL GPU_GetProjection (void)
 
DECLSPEC void SDLCALL GPU_GetModelViewProjection (float *result)
 
DECLSPEC void SDLCALL GPU_MatrixMode (int matrix_mode)
 
DECLSPEC void SDLCALL GPU_PushMatrix (void)
 
DECLSPEC void SDLCALL GPU_PopMatrix (void)
 
DECLSPEC void SDLCALL GPU_LoadIdentity (void)
 
DECLSPEC void SDLCALL GPU_Ortho (float left, float right, float bottom, float top, float near, float far)
 
DECLSPEC void SDLCALL GPU_Frustum (float left, float right, float bottom, float top, float near, float far)
 
DECLSPEC void SDLCALL GPU_Translate (float x, float y, float z)
 
DECLSPEC void SDLCALL GPU_Scale (float sx, float sy, float sz)
 
DECLSPEC void SDLCALL GPU_Rotate (float degrees, float x, float y, float z)
 
DECLSPEC void SDLCALL GPU_MultMatrix (float *matrix4x4)
 

Detailed Description

Typedef Documentation

Matrix stack data structure for global vertex transforms.

Function Documentation

DECLSPEC void SDLCALL GPU_Frustum ( float  left,
float  right,
float  bottom,
float  top,
float  near,
float  far 
)

Multiplies a perspective projection matrix into the current matrix.

DECLSPEC float* SDLCALL GPU_GetCurrentMatrix ( void  )

Returns the current matrix from the top of the matrix stack. Returns NULL if stack is empty.

DECLSPEC const char* SDLCALL GPU_GetMatrixString ( float *  A)

Returns an internal string that represents the contents of matrix A.

DECLSPEC float* SDLCALL GPU_GetModelView ( void  )

Returns the current modelview matrix from the top of the matrix stack. Returns NULL if stack is empty.

DECLSPEC void SDLCALL GPU_GetModelViewProjection ( float *  result)

Copies the current modelview-projection matrix into the given 'result' matrix (result = P*M).

DECLSPEC float* SDLCALL GPU_GetProjection ( void  )

Returns the current projection matrix from the top of the matrix stack. Returns NULL if stack is empty.

DECLSPEC void SDLCALL GPU_LoadIdentity ( void  )

Fills current matrix with the identity matrix.

DECLSPEC void SDLCALL GPU_MatrixCopy ( float *  result,
const float *  A 
)

Overwrite 'result' matrix with the values from matrix A.

DECLSPEC void SDLCALL GPU_MatrixFrustum ( float *  result,
float  left,
float  right,
float  bottom,
float  top,
float  near,
float  far 
)

Multiplies a perspective projection matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixIdentity ( float *  result)

Fills 'result' matrix with the identity matrix.

DECLSPEC void SDLCALL GPU_MatrixLookAt ( float *  matrix,
float  eye_x,
float  eye_y,
float  eye_z,
float  target_x,
float  target_y,
float  target_z,
float  up_x,
float  up_y,
float  up_z 
)

Multiplies a view matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixMode ( int  matrix_mode)

Changes matrix mode to either GPU_PROJECTION or GPU_MODELVIEW. Further matrix stack operations manipulate that particular stack.

DECLSPEC void SDLCALL GPU_MatrixOrtho ( float *  result,
float  left,
float  right,
float  bottom,
float  top,
float  near,
float  far 
)

Multiplies an orthographic projection matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixPerspective ( float *  result,
float  fovy,
float  aspect,
float  zNear,
float  zFar 
)

Multiplies a perspective projection matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixRotate ( float *  result,
float  degrees,
float  x,
float  y,
float  z 
)

Multiplies a rotation matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixScale ( float *  result,
float  sx,
float  sy,
float  sz 
)

Multiplies a scaling matrix into the given matrix.

DECLSPEC void SDLCALL GPU_MatrixTranslate ( float *  result,
float  x,
float  y,
float  z 
)

Adds a translation into the given matrix.

DECLSPEC void SDLCALL GPU_Multiply4x4 ( float *  result,
float *  A,
float *  B 
)

Multiplies matrices A and B and stores the result in the given 'result' matrix (result = A*B). Do not use A or B as 'result'.

See Also
GPU_MultiplyAndAssign
DECLSPEC void SDLCALL GPU_MultiplyAndAssign ( float *  result,
float *  B 
)

Multiplies matrices 'result' and B and stores the result in the given 'result' matrix (result = result * B).

DECLSPEC void SDLCALL GPU_MultMatrix ( float *  matrix4x4)

Multiplies a given matrix into the current matrix.

DECLSPEC void SDLCALL GPU_Ortho ( float  left,
float  right,
float  bottom,
float  top,
float  near,
float  far 
)

Multiplies an orthographic projection matrix into the current matrix.

DECLSPEC void SDLCALL GPU_PopMatrix ( void  )

Removes the current matrix from the stack.

DECLSPEC void SDLCALL GPU_PushMatrix ( void  )

Pushes the current matrix as a new matrix stack item.

DECLSPEC void SDLCALL GPU_Rotate ( float  degrees,
float  x,
float  y,
float  z 
)

Multiplies a rotation matrix into the current matrix.

DECLSPEC void SDLCALL GPU_Scale ( float  sx,
float  sy,
float  sz 
)

Multiplies a scaling matrix into the current matrix.

DECLSPEC void SDLCALL GPU_Translate ( float  x,
float  y,
float  z 
)

Adds a translation into the current matrix.

DECLSPEC void SDLCALL GPU_VectorApplyMatrix ( float *  vec3,
float *  matrix_4x4 
)

Multiplies the given matrix into the given vector (vec3 = matrix*vec3).

DECLSPEC void SDLCALL GPU_VectorCopy ( float *  result,
float *  A 
)

Overwrite 'result' vector with the values from vector A.

DECLSPEC void SDLCALL GPU_VectorCross ( float *  result,
float *  A,
float *  B 
)

Performs the cross product of vectors A and B (result = A x B). Do not use A or B as 'result'.

DECLSPEC float SDLCALL GPU_VectorDot ( float *  A,
float *  B 
)

Returns the dot product of two vectors.

DECLSPEC float SDLCALL GPU_VectorLength ( float *  vec3)

Returns the magnitude (length) of the given vector.

DECLSPEC void SDLCALL GPU_VectorNormalize ( float *  vec3)

Modifies the given vector so that it has a new length of 1.