hal_gfx_matrix4x4.h File Reference

Go to the source code of this file.

Typedefs

typedef float hal_gfx_matrix4x4_t[4][4]
 

Functions

void hal_gfx_mat4x4_load_identity (hal_gfx_matrix4x4_t m)
 Load a 4x4 Identity Matrix. More...
 
void hal_gfx_mat4x4_mul (hal_gfx_matrix4x4_t m, hal_gfx_matrix4x4_t m_l, hal_gfx_matrix4x4_t m_r)
 Multiply two 4x4 matrices. More...
 
void hal_gfx_mat4x4_mul_vec (hal_gfx_matrix4x4_t m, float *x, float *y, float *z, float *w)
 Multiply a 4x1 vector with a 4x4 matrix. More...
 
void hal_gfx_mat4x4_translate (hal_gfx_matrix4x4_t m, float tx, float ty, float tz)
 Apply translate transformation. More...
 
void hal_gfx_mat4x4_scale (hal_gfx_matrix4x4_t m, float sx, float sy, float sz)
 Apply scale transformation. More...
 
void hal_gfx_mat4x4_rotate_X (hal_gfx_matrix4x4_t m, float angle_degrees)
 Apply rotate transformation around X axis. More...
 
void hal_gfx_mat4x4_rotate_Y (hal_gfx_matrix4x4_t m, float angle_degrees)
 Apply rotate transformation around Y axis. More...
 
void hal_gfx_mat4x4_rotate_Z (hal_gfx_matrix4x4_t m, float angle_degrees)
 Apply rotate transformation around Z axis. More...
 
void hal_gfx_mat4x4_load_perspective (hal_gfx_matrix4x4_t m, float fovy_degrees, float aspect, float nearVal, float farVal)
 Set up a perspective projection matrix. More...
 
void hal_gfx_mat4x4_load_ortho (hal_gfx_matrix4x4_t m, float left, float right, float bottom, float top, float nearVal, float farVal)
 Set up an orthographic projection matrix. More...
 
void hal_gfx_mat4x4_load_ortho_2d (hal_gfx_matrix4x4_t m, float left, float right, float bottom, float top)
 Set up a 2D orthographic projection matrix. More...
 
int hal_gfx_mat4x4_obj_to_win_coords (hal_gfx_matrix4x4_t mvp, float x_orig, float y_orig, int width, int height, float nearVal, float farVal, float *x, float *y, float *z, float *w)
 Convenience Function to calculate window coordinates from object coordinates. More...