KallistiOS git master
Independent SDK for the Sega Dreamcast
|
Basic matrix operations. More...
Go to the source code of this file.
Macros | |
#define | mat_trans_single(x, y, z) |
Macro to transform a single vertex by the internal matrix. | |
#define | mat_trans_single4(x, y, z, w) |
Macro to transform a single vertex by the internal matrix. | |
#define | mat_trans_single3(x, y, z) |
Macro to transform a single vertex by the internal matrix. | |
#define | mat_trans_nodiv(x, y, z, w) |
Macro to transform a single vertex by the internal matrix with no perspective division. | |
#define | mat_trans_single3_nodiv(x, y, z) |
Macro to transform a single 3d vertex coordinate by the internal matrix with no perspective division. | |
#define | mat_trans_single3_nomod(x, y, z, x2, y2, z2) |
Macro to transform a single 3d vertex coordinate by the internal matrix with perspective division. | |
#define | mat_trans_single3_nodiv_nomod(x, y, z, x2, y2, z2) |
Macro to transform a single 3d vertex coordinate by the internal matrix. | |
#define | mat_trans_single3_nodivw(x, y, z, w) |
Macro to transform a single 3d vertex coordinate by the internal matrix. | |
#define | mat_trans_single3_nodiv_div(x, y, z, xd, yd, zd) |
Macro to transform a single 3d vertex coordinate by the internal matrix both with and without perspective division. | |
#define | mat_trans_normal3(x, y, z) |
Macro to transform a single vertex normal by the internal matrix. | |
#define | mat_trans_normal3_nomod(x, y, z, x2, y2, z2) |
Macro to transform a single vertex normal by the internal matrix. | |
Functions | |
void | mat_store (matrix_t *out) |
Copy the internal matrix to a memory one. | |
void | mat_load (const matrix_t *src) |
Copy a memory matrix into the internal one. | |
void | mat_identity (void) |
Clear the internal matrix to identity. | |
void | mat_apply (const matrix_t *src) |
Apply a matrix. | |
void | mat_transform (const vector_t *invecs, vector_t *outvecs, int veccnt, int stride) |
Transform vectors by the internal matrix. | |
void | mat_transform_sq (void *input, void *output, int veccnt) |
Transform vectors by the internal matrix into the store queues. | |
Basic matrix operations.
This file contains various basic matrix math functionality for using the SH4's matrix transformation unit. Higher level functionality, like the 3D functionality is built off of these operations.