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.