| Top |
| gboolean | g3d_matrix_identity () |
| gboolean | g3d_matrix_multiply () |
| gboolean | g3d_matrix_translate () |
| gboolean | g3d_matrix_rotate () |
| gboolean | g3d_matrix_rotate_xyz () |
| gboolean | g3d_matrix_scale () |
| gboolean | g3d_matrix_transpose () |
| G3DFloat | g3d_matrix_determinant () |
| gboolean | g3d_matrix_dump () |
Matrices in libg3d have the following layout:
G3DMatrix matrix[16]:
matrix[col * 4 + row] = f;
gboolean
g3d_matrix_identity (G3DMatrix *matrix);
Sets the given matrix to the identity matrix.
gboolean g3d_matrix_multiply (G3DMatrix *m1,G3DMatrix *m2,G3DMatrix *rm);
Multiplies the matrixes.
gboolean g3d_matrix_translate (G3DFloat x,G3DFloat y,G3DFloat z,G3DMatrix *rm);
Adds a translation to the the matrix.
gboolean g3d_matrix_rotate (G3DFloat angle,G3DFloat ax,G3DFloat ay,G3DFloat az,G3DMatrix *rm);
Adds a rotation to the matrix.
gboolean g3d_matrix_rotate_xyz (G3DFloat rx,G3DFloat ry,G3DFloat rz,G3DMatrix *rm);
Adds a rotation around the 3 coordinate system axes to the matrix.
gboolean g3d_matrix_scale (G3DFloat x,G3DFloat y,G3DFloat z,G3DMatrix *rm);
Adds a scaling to the matrix.
G3DFloat
g3d_matrix_determinant (G3DMatrix *matrix);
Calculate the determinant of the matrix (FIXME: not verified).
gboolean
g3d_matrix_dump (G3DMatrix *matrix);
If debugging is enabled, this function dump the matrix to stderr.