matrix_mul(3)

NAME
matrix_mul, matrix_mul_f

SYNOPSIS
#include <allegro.h>

void matrix_mul(const MATRIX *m1, *m2, MATRIX *out); void matrix_mul_f(const MATRIX_f *m1, *m2, MATRIX_f *out);

DESCRIPTION
Multiplies two matrices, storing the result in out (this may be a duplicate of one of the input matrices, but it is faster when the inputs and output are all different). The resulting matrix will have the same effect as the combination of m1 and m2, ie. when applied to a point p, (p * out) = ((p * m1) * m2). Any number of transformations can be concatenated in this way. Note that matrix multiplication is not commutative, ie. matrix_mul(m1, m2) != matrix_mul(m2, m1).

SEE ALSO
apply_matrix(3), exquat(3), exscn3d(3)