AllegroGL  0.4.4
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()
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.