AllegroGL: math.c File Reference

AllegroGL 0.4.4

- Main Page
- Related Pages
- Modules
- Files

- File List
- Globals

Macros | Functions | Variables
math.c File Reference

Converting mathematical structures from Allegro to OpenGL. More...

`#include <math.h>`
`#include <allegro.h>`
`#include "alleggl.h"`
`#include "allglint.h"`

Go to the source code of this file.

## Macros
#define | M_PI 3.14159265358979323846
#define | ALGL_NOCONV(x) x
#define | TRANSLATE_AL_TO_GL(al_type, gl_type, convertor)
#define | RAD_2_DEG(a) ((a) * 180 / M_PI)

## 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...
Quaternion conversion routines
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...

## Variables
void | allegro_gl_

## Detailed Description

Converting mathematical structures from Allegro to OpenGL.

This file provides routines to make Allegro matrices from GL-style matrices, and vice versa. This also provides a QUAT to glRotate converter.

Note that Allegro matrices can only store affine transformations.

Definition in file math.c.

## Macro Definition Documentation

#define TRANSLATE_AL_TO_GL | ( |  | al_type,
|  |  | gl_type,
|  |  | convertor
| ) |  |

Value:
void allegro_gl_##al_type##_to_##gl_type (al_type *m, gl_type gl[16]) \
{ \
int col, row; \
for (col = 0; col < 3; col++) \
for (row = 0; row < 3; row++) \
gl[col*4+row] = convertor (m->v[col][row]); \
for (row = 0; row < 3; row++) \
gl[12+row] = convertor (m->t[row]); \
for (col = 0; col < 3; col++) \
gl[4*col + 3] = 0; \
gl[15] = 1; \
}
for
for()
Converts an OpenGL floating-point matrix issued from the matrix stack to an Allegro fixed-point matri...
Definition: math.c:114

Definition at line 28 of file math.c.

## Variable Documentation

void allegro_gl_

Initial value:
{
int col, row

Definition at line 112 of file math.c.