|
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().
1.8.11