AllegroGL
0.4.4
|
Routines to convert between OpenGL and Allegro math types. More...
Functions | |
for () | |
Converts an OpenGL floating-point matrix issued from the matrix stack to an Allegro fixed-point matrix. More... | |
Matrix conversion routines | |
void | allegro_gl_MATRIX_to_GLfloat (MATRIX *m, GLfloat gl[16]) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_MATRIX_to_GLdouble (MATRIX *m, GLdouble gl[16]) |
Converts an Allegro fixed-point matrix to an array of doubles suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_MATRIX_f_to_GLfloat (MATRIX_f *m, GLfloat gl[16]) |
Converts an Allegro floating-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_MATRIX_f_to_GLdouble (MATRIX_f *m, GLdouble gl[16]) |
Converts an Allegro floating-point matrix to an array of doubles suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_GLfloat_to_MATRIX (GLfloat gl[16], MATRIX *m) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_GLdouble_to_MATRIX (GLdouble gl[16], MATRIX *m) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_GLfloat_to_MATRIX_f (GLfloat gl[16], MATRIX_f *m) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
void | allegro_gl_GLdouble_to_MATRIX_f (GLdouble gl[16], MATRIX_f *m) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations. More... | |
Quaternion conversion routines | |
void | allegro_gl_apply_quat (QUAT *q) |
Converts a quaternion to a vector/angle, which can be used with glRotate*(). More... | |
void | allegro_gl_quat_to_glrotatef (QUAT *q, float *angle, float *x, float *y, float *z) |
Converts a quaternion to a vector/angle, which can be used with glRotate*(). More... | |
void | allegro_gl_quat_to_glrotated (QUAT *q, double *angle, double *x, double *y, double *z) |
Converts a quaternion to a vector/angle, which can be used with glRotate*(). More... | |
Routines to convert between OpenGL and Allegro math types.
void allegro_gl_MATRIX_to_GLfloat | ( | MATRIX * | m, |
GLfloat | gl[16] | ||
) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations.
Example:
MATRIX m = identity_matrix; GLfloat gl_m[16]; get_vector_rotation_matrix(&m, itofix(1), 0, itofix(1), ftofix(43.83)); allegro_gl_MATRIX_to_GLfloat(&m, &gl_m); glLoadMatrixf(&gl_m);
void allegro_gl_MATRIX_to_GLdouble | ( | MATRIX * | m, |
GLdouble | gl[16] | ||
) |
Converts an Allegro fixed-point matrix to an array of doubles suitable for OpenGL's matrix operations.
void allegro_gl_MATRIX_f_to_GLfloat | ( | MATRIX_f * | m, |
GLfloat | gl[16] | ||
) |
Converts an Allegro floating-point matrix to an array of floats suitable for OpenGL's matrix operations.
void allegro_gl_MATRIX_f_to_GLdouble | ( | MATRIX_f * | m, |
GLdouble | gl[16] | ||
) |
Converts an Allegro floating-point matrix to an array of doubles suitable for OpenGL's matrix operations.
void allegro_gl_GLfloat_to_MATRIX | ( | GLfloat | gl[16], |
MATRIX * | m | ||
) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations.
Example:
MATRIX m = identity_matrix; GLfloat gl_m[16]; get_vector_rotation_matrix(&m, itofix(1), 0, itofix(1), ftofix(43.83)); allegro_gl_MATRIX_to_GLfloat(&m, &gl_m); glLoadMatrixf(&gl_m);
void allegro_gl_GLdouble_to_MATRIX | ( | GLdouble | gl[16], |
MATRIX * | m | ||
) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations.
Example:
MATRIX m = identity_matrix; GLfloat gl_m[16]; get_vector_rotation_matrix(&m, itofix(1), 0, itofix(1), ftofix(43.83)); allegro_gl_MATRIX_to_GLfloat(&m, &gl_m); glLoadMatrixf(&gl_m);
void allegro_gl_GLfloat_to_MATRIX_f | ( | GLfloat | gl[16], |
MATRIX_f * | m | ||
) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations.
Example:
MATRIX m = identity_matrix; GLfloat gl_m[16]; get_vector_rotation_matrix(&m, itofix(1), 0, itofix(1), ftofix(43.83)); allegro_gl_MATRIX_to_GLfloat(&m, &gl_m); glLoadMatrixf(&gl_m);
void allegro_gl_GLdouble_to_MATRIX_f | ( | GLdouble | gl[16], |
MATRIX_f * | m | ||
) |
Converts an Allegro fixed-point matrix to an array of floats suitable for OpenGL's matrix operations.
Example:
MATRIX m = identity_matrix; GLfloat gl_m[16]; get_vector_rotation_matrix(&m, itofix(1), 0, itofix(1), ftofix(43.83)); allegro_gl_MATRIX_to_GLfloat(&m, &gl_m); glLoadMatrixf(&gl_m);
void allegro_gl_apply_quat | ( | QUAT * | q | ) |
Converts a quaternion to a vector/angle, which can be used with glRotate*().
Values are returned in the parameters.
Example:
QUAT q = identity_quat; float x, y, z, angle; allegro_gl_quat_to_glrotatef(&q, &angle, &x, &y, &z); glRotatef(angle, x, y, z);
q | The Quaternion to convert. |
angle | The angle of rotation, in degrees. |
x | The rotation vector's x-axis component. |
y | The rotation vector's y-axis component. |
z | The rotation vector's z-axis component. |
void allegro_gl_quat_to_glrotatef | ( | QUAT * | q, |
float * | angle, | ||
float * | x, | ||
float * | y, | ||
float * | z | ||
) |
Converts a quaternion to a vector/angle, which can be used with glRotate*().
Values are returned in the parameters.
Example:
QUAT q = identity_quat; float x, y, z, angle; allegro_gl_quat_to_glrotatef(&q, &angle, &x, &y, &z); glRotatef(angle, x, y, z);
q | The Quaternion to convert. |
angle | The angle of rotation, in degrees. |
x | The rotation vector's x-axis component. |
y | The rotation vector's y-axis component. |
z | The rotation vector's z-axis component. |
Definition at line 250 of file math.c.
Referenced by for().
void allegro_gl_quat_to_glrotated | ( | QUAT * | q, |
double * | angle, | ||
double * | x, | ||
double * | y, | ||
double * | z | ||
) |
Converts a quaternion to a vector/angle, which can be used with glRotate*().
Values are returned in the parameters. See allegro_gl_quat_to_rotatef() for an example.
q | The Quaternion to convert. |
angle | The angle of rotation, in degrees. |
x | The rotation vector's x-axis component. |
y | The rotation vector's y-axis component. |
z | The rotation vector's z-axis component. |
Definition at line 282 of file math.c.
Referenced by for().
for | ( | ) |
Converts an OpenGL floating-point matrix issued from the matrix stack to an Allegro fixed-point matrix.
Example:
QUAT q = identity_quat; get_vector_rotation_quat(&q, itofix(1), 0, itofix(1), ftofix(43.83)); glLoadIdentity(); allegro_gl_apply_quat(&q);
q | The Quaternion to apply. |
Definition at line 114 of file math.c.
References allegro_gl_quat_to_glrotated(), and allegro_gl_quat_to_glrotatef().