Matrix operations
Matrix operations for 4x4 matrices.
f_matrix_clearf
void f_matrix_clearf(float *matrix);
Description: Clears a 4x4 32 bit float matrix to an identity matrix.f_matrix_cleard
void f_matrix_cleard(double *matrix);
Description: Clears a 4x4 64 bit double matrix to an identity matrix.f_transform3f
void f_transform3f(float *output, const float *matrix, const float x, const float y, const float z);
Description: Transforms a 3D point with a 4x4 32 bit float matrix.f_transform3d
void f_transform3d(double *out, const double *matrix, const double x, const double y, const double z);
Description: Transforms a 3D point with a 4x4 64 bit double matrix.f_transform4f
void f_transform4f(float *output, const float *matrix, const float x, const float y, const float z, const double w);
Description: Transforms a 4D point with a 4x4 32 bit float matrix.f_transform4d
void f_transform4d(double *out, const double *matrix, const double x, const double y, const double z, const double w);
Description: Transforms a 4D point with a 4x4 64 bit double matrix.f_transforminv3f
void f_transforminv3f(float *out, const float *matrix, float x, float y, float z);
f_transforminv3d
void f_transforminv3d(double *out, const double *matrix, double x, double y, double z);
f_transforminv_scaled3f
void f_transforminv_scaled3f(float *output, const float *matrix, float x, float y, float z);
f_matrix_multiplyf
void f_matrix_multiplyf(float *output, const float *a, const float *b);
Description: Multiplies two 4x4 32 bit float matrices.f_matrix_multiplyd
void f_matrix_multiplyd(double *output, const double *a, const double *b);
Description: Multiplies two 4x4 64 bit double matrices.f_matrix_reverse4f
void f_matrix_reverse4f(float *output, const float *matrix);
Description: Reverces a 4x4 32 bit float matrix.f_matrix_reverse4d
void f_matrix_reverse4d(double *output, const double *matrix);
Description: Reverces a 4x4 64 bit double matrix.f_quaternion_to_matrixf
void f_quaternion_to_matrixf(float *matrix, float x, float y, float z, float w);
Description: Converts a 32 bit float quaternoion to a 4x4 32 bit float matrix.f_quaternion_to_matrixd
void f_quaternion_to_matrixd(double *matrix, double x, double y, double z, double w);
Description: Converts a 64 bit double quaternoion to a 4x4 64 bit double matrix.f_matrix_to_quaternionf
void f_matrix_to_quaternionf(float *quaternion, float *matrix);
Description: Converts a 4x4 32 bit float matrix to a 32 bit float quaternoion.f_matrix_to_quaterniond
void f_matrix_to_quaterniond(double *quaternion, double *matrix);
Description: Converts a 4x4 64 bit double matrix to a 64 bit double quaternoion.f_matrix_to_pos_quaternion_scalef
void f_matrix_to_pos_quaternion_scalef(float *matrix, float *pos, float *quaternion, float *scale);
Description: Converts a 4x4 32 bit float matrix to a 32 bit float position, scale and quaternoion.f_matrix_to_pos_quaternion_scaled
void f_matrix_to_pos_quaternion_scaled(double *matrix, double *pos, double *quaternion, double *scale);
Description: Converts a 4x4 64 bit double matrix to a 64 bit double position, scale and quaternoion.f_pos_quaternion_scale_to_matrixf
void f_pos_quaternion_scale_to_matrixf(float *pos, float *quaternion, float *scale, float *matrix);
Description: Converts a 32 bit float position, scale and quaternoion to a 4x4 32 bit float matrix.f_pos_quaternion_scale_to_matrixd
void f_pos_quaternion_scale_to_matrixd(double *pos, double *quaternion, double *scale, double *matrix);
Description: Converts a 64 bit double position, scale and quaternoion to a 4x4 64 bit double matrix.f_pos_quaternion_scale_to_matrix_invf
void f_pos_quaternion_scale_to_matrix_invf(float *pos, float *quaternion, float *scale, float *matrix);
Description: Converts a 32 bit float position, scale and quaternoion to a 4x4 32 bit float matrix.f_pos_quaternion_scale_to_matrix_invd
void f_pos_quaternion_scale_to_matrix_invd(double *pos, double *quaternion, double *scale, double *matrix);
Description: Converts a 64 bit double position, scale and quaternoion to a 4x4 64 bit double matrix.f_matrix_rotatef
void f_matrix_rotatef(float *matrix, float angle, float x, float y, float z);
Description: Generates a 4x4 32 bit float matrix rotating agnle number of degrees around the axis described by x, y, and zf_matrix_rotated
void f_matrix_rotated(double *matrix, double angle, double x, double y, double z);
Description: Generates a 4x4 64 bit float matrix rotating agnle number of degrees around the axis described by x, y, and z