AllegroGL: alleggl.h File Reference

AllegroGL 0.4.4

- Main Page
- Related Pages
- Modules
- Files

- File List
- Globals

Macros | Functions | Variables
alleggl.h File Reference

Main header file for AllegroGL. More...

`#include <allegro.h>`
`#include <GL/gl.h>`
`#include "allegrogl/gl_ext.h"`

Go to the source code of this file.

## Macros
#define | _AGL_DLL
#define | AGL_VAR(type, name) extern _AGL_DLL type name
#define | AGL_FUNC(type, name, args) extern type name args
#define | __glext_h_
#define | __gl_glext_h_
#define | __glxext_h_
#define | __glx_glxext_h_
#define | AGL_ERROR_SIZE 256
#define | AGL_FLOAT_COLOR 0x00800000
| Floating-point Color buffer.
#define | AGL_FLOAT_Z 0x01000000
| Floating-point Depth buffer.
#define | AGL_CONFIG_RESRVED 0xA000000
Version Information
#define | AGL_VERSION 0
| Major version number.
#define | AGL_SUB_VERSION 4
| Minor version number.
#define | AGL_WIP_VERSION 4
| Work-In-Progress version number.
#define | AGL_VERSION_STR "0.4.4"
| Version description string.
Frame Buffer Settings
#define | AGL_ALLEGRO_FORMAT 0x00000001
| Use Allegro-compatible framebuffer. More...
#define | AGL_RED_DEPTH 0x00000002
| Select the red depth of the frame buffer. More...
#define | AGL_GREEN_DEPTH 0x00000004
| Select the green depth of the frame buffer. More...
#define | AGL_BLUE_DEPTH 0x00000008
| Select the blue depth of the frame buffer. More...
#define | AGL_ALPHA_DEPTH 0x00000010
| Select the alpha depth of the frame buffer. More...
#define | AGL_COLOR_DEPTH 0x00000020
| Specify the total color depth of the frame buffer. More...
#define | AGL_ACC_RED_DEPTH 0x00000040
| Select the red depth of the accumulator buffer. More...
#define | AGL_ACC_GREEN_DEPTH 0x00000080
| Select the green depth of the accumulator buffer. More...
#define | AGL_ACC_BLUE_DEPTH 0x00000100
| Select the blue depth of the accumulator buffer. More...
#define | AGL_ACC_ALPHA_DEPTH 0x00000200
| Select the alpha depth of the accumulator buffer. More...
#define | AGL_DOUBLEBUFFER 0x00000400
| Creates a backbuffer if set. More...
#define | AGL_STEREO 0x00000800
| Creates seperate left/right buffers for stereo display. More...
#define | AGL_AUX_BUFFERS 0x00001000
| Creates additional auxiliary buffers. More...
#define | AGL_Z_DEPTH 0x00002000
| Select the depth of the z-buffer. More...
#define | AGL_STENCIL_DEPTH 0x00004000
| Select the depth of the stencil buffer. More...
#define | AGL_WINDOW_X 0x00008000
| Requests a placement of the window to a specified pixel location. More...
#define | AGL_WINDOW_Y 0x00010000
| Same as AGL_WINDOW_X, but for the y-axis.
#define | AGL_RENDERMETHOD 0x00020000
| Set it if you'd like AllegroGL to pay special attention on whether hardware acceleration is present or not. More...
#define | AGL_FULLSCREEN 0x00040000
| Set if you'd like a full screen mode. More...
#define | AGL_WINDOWED 0x00080000
| Set if you'd like a windowed mode. More...
#define | AGL_VIDEO_MEMORY_POLICY 0x00100000
| Define AllegroGL's policy relative to video memory usage. More...
#define | AGL_SAMPLE_BUFFERS 0x00200000
| Define multisample parameters Some OpenGL ICDs expose an extension called GL_ARB_multisample which provides a mechanism to anti-alias all GL primitives: points, lines, polygons, bitmaps and pixel rectangles. More...
#define | AGL_SAMPLES 0x00400000
| Define multisample samples Set this value to the number of samples that can be accepted in the multisample buffers. More...
Mode selection priority options
#define | AGL_DONTCARE 0
| Ignore these settings.
#define | AGL_SUGGEST -1
| Prefer the assigned values for these settings.
#define | AGL_REQUIRE -2
| Reject other values for these settings.
Video memory policy options
#define | AGL_KEEP 1
| Keep internal texture in video memory.
#define | AGL_RELEASE 2
| Release video memory occupied by internal texture.
Graphics drivers
#define | GFX_OPENGL_WINDOWED
| Windowed OpenGL graphics driver for Allegro.
#define | GFX_OPENGL_FULLSCREEN
| Fullscreen OpenGL graphics driver for Allegro.
#define | GFX_OPENGL
| Non-specific OpenGL graphics driver for Allegro.
OpenGL Extensions Management Functions
#define | AGL_DEFINE_PROC_TYPE
| OpenGL extensions handlers helper. More...

## Functions
int | algl_do_dialog (DIALOG *dialog, int focus_obj)
| AllegroGL-friendly version of do_dialog. More...
int | algl_popup_dialog (DIALOG *dialog, int focus_obj)
| AllegroGL-friendly version of popup_dialog. More...
void | algl_draw_mouse (void)
| Draws a mouse pointer on the screen. More...
void | algl_set_mouse_drawer (void(*user_draw_mouse)(void))
| Sets (or clears) a user mouse drawing callback. More...
int | algl_alert (AL_CONST char *s1, AL_CONST char *s2, AL_CONST char *s3, AL_CONST char *b1, AL_CONST char *b2, int c1, int c2)
| AllegroGL-friendly version of Allegro's alert. More...
int | algl_alert3 (AL_CONST char *s1, AL_CONST char *s2, AL_CONST char *s3, AL_CONST char *b1, AL_CONST char *b2, AL_CONST char *b3, int c1, int c2, int c3)
| AllegroGL-friendly version of Allegro's alert3. More...
int | d_algl_viewport_proc (int msg, DIALOG *d, int c)
| Creates a viewport object where OpenGL commands can be performed. More...
Mode selection functions
void | allegro_gl_clear_settings (void)
| Clear the option settings All settings are set to their default values, and marked as neither suggested not required. More...
void | allegro_gl_set (int option, int value)
| Sets a configuration option. More...
int | allegro_gl_get (int option)
| Reads the setting of a configuration option. More...
void | allegro_gl_save_settings ()
| Saves the current settings (as specified by allegro_gl_set()) to the current config file, in the section [OpenGL]. More...
void | allegro_gl_load_settings ()
| Loads the settings from the current config file, in the section [OpenGL]. More...
Video Bitmap Rountines
GLint | allegro_gl_set_video_bitmap_color_depth (int bpp)
| Sets the color depth you'd like AllegroGL to use for video bitmaps. More...
Allegro Interfacing routines
void | allegro_gl_set_allegro_mode (void)
| Prepares for Allegro drawing to the screen. More...
void | allegro_gl_unset_allegro_mode (void)
| Restores previous OpenGL settings. More...
void | allegro_gl_set_projection (void)
| Prepares for Allegro drawing to the screen. More...
void | allegro_gl_unset_projection (void)
| Restores previously saved projection. 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...

## Variables
char | allegro_gl_error [256]
GFX_DRIVER | gfx_allegro_gl_default
GFX_DRIVER | gfx_allegro_gl_windowed
GFX_DRIVER | gfx_allegro_gl_fullscreen

## Core Functions
#define | allegro_gl_begin() ;
| Backward compatibility #define for programs written prior to AGL 0.0.22. More...
#define | allegro_gl_end() ;
| Backward compatibility #define for programs written prior to AGL 0.0.22. More...
int | install_allegro_gl (void)
| Installs the AllegroGL addon to Allegro. More...
void | remove_allegro_gl (void)
| Removes the AllegroGL addon. More...
void | allegro_gl_flip (void)
| Flips the front and back framebuffers. More...
float | allegro_gl_opengl_version (void)
| Returns the OpenGL version number of the client (the computer the program is running on). More...

## Texture routines
#define | AGL_TEXTURE_MIPMAP 0x01
| AllegroGL will generate mipmaps for this texture.
#define | AGL_TEXTURE_HAS_ALPHA 0x02
| Tell AllegroGL that the bitmap had an alpha channel, so it should be preserved when generating the texture.
#define | AGL_TEXTURE_FLIP 0x04
| Flip the texture on the x-axis. More...
#define | AGL_TEXTURE_MASKED 0x08
| Generate an alpha channel for this texture, based on the Allegro mask color. More...
#define | AGL_TEXTURE_RESCALE 0x10
| Tell AllegroGL to allow rescaling of the bitmap. More...
#define | AGL_TEXTURE_ALPHA_ONLY 0x20
| Tell AllegroGL that the specified BITMAP is an 8-bpp alpha-only BITMAP.
int | allegro_gl_use_mipmapping (int enable)
| Tell AllegroGL to use Mipmapping or not when generating textures via its functions. More...
int | allegro_gl_use_alpha_channel (int enable)
| Tell AllegroGL to use Alpha channel or not when generating textures via its functions. More...
int | allegro_gl_flip_texture (int enable)
| Tell AllegroGL to flip the texture vertically or not when generating textures via its functions, to conform to the usual OpenGL texture coordinate system (increasing upwards). More...
int | allegro_gl_check_texture (BITMAP *bmp)
| Checks whether the specified bitmap is of the proper size for texturing. More...
int | allegro_gl_check_texture_ex (int flags, BITMAP *bmp, GLint internal_format)
| Checks whether the specified bitmap is of the proper size for texturing. More...
GLint | allegro_gl_get_texture_format (BITMAP *bmp)
| Returns the OpenGL internal texture format for this bitmap. More...
GLint | allegro_gl_set_texture_format (GLint format)
| Sets the color format you'd like OpenGL to use for its textures. More...
GLenum | allegro_gl_get_bitmap_type (BITMAP *bmp)
| AllegroGL will generate mipmaps for this texture.
GLenum | allegro_gl_get_bitmap_color_format (BITMAP *bmp)
| AllegroGL will generate mipmaps for this texture.
GLuint | allegro_gl_make_texture (BITMAP *bmp)
| Uploads an Allegro BITMAP to the GL driver as a texture. More...
GLuint | allegro_gl_make_masked_texture (BITMAP *bmp)
| Uploads an Allegro BITMAP to the GL driver as a texture. More...
GLuint | allegro_gl_make_texture_ex (int flags, BITMAP *bmp, GLint internal_format)
| Uploads an Allegro BITMAP to the GL driver as a texture. More...

## Text Drawing and Font conversion
#define | AGL_FONT_TYPE_DONT_CARE -1
| Indicates that you don't really care how a font will be converted. More...
#define | AGL_FONT_TYPE_BITMAP 0
| Indicates that you want fonts to be converted to a bitmap format. More...
#define | AGL_FONT_TYPE_OUTLINE 1
| Indicates that you want fonts to be converted to an outline format. More...
#define | AGL_FONT_TYPE_TEXTURED 2
| Indicates that you want fonts to be converted to a texture format. More...
#define | AGL_FONT_STYLE_BOLD 1
| Creates a font with bold characters. More...
#define | AGL_FONT_STYLE_BLACK 2
| Creates a font with black (strong bold) characters. More...
#define | AGL_FONT_STYLE_ITALIC 4
| Creates a font with italicized characters. More...
#define | AGL_FONT_STYLE_UNDERLINE 8
| Creates a font with underlined characters. More...
#define | AGL_FONT_STYLE_STRIKEOUT 16
| Creates a font with striked out characters. More...
#define | AGL_FONT_STYLE_ANTI_ALIASED 32
| Creates a font with anti-aliased characters. More...
#define | AGL_FONT_POLYGONS 1
| Font generation mode. More...
#define | AGL_FONT_LINES 2
| Font generation mode. More...
int | allegro_gl_printf (AL_CONST FONT *f, float x, float y, float z, int color, AL_CONST char *format,...)
| Equivalent to: More...
int | allegro_gl_printf_ex (AL_CONST FONT *f, float x, float y, float z, AL_CONST char *format,...)
| Prints a formatted string (printf style) on the screen. More...
FONT * | allegro_gl_convert_allegro_font (FONT *f, int type, float scale)
| Equivalent to: More...
FONT * | allegro_gl_convert_allegro_font_ex (FONT *f, int type, float scale, GLint format)
| Converts a regular Allegro FONT to the AGL format for 3D display. More...
void | allegro_gl_set_font_generation_mode (int mode)
| Set the font generation mode for system fonts. More...
FONT * | allegro_gl_load_system_font (char *name, int style, int w, int h)
| Short hand for aglf_load_system_font_ex(name, AGL_FONT_TYPE_OUTLINE, style, w, h, 0.0f, 32, 256) More...
FONT * | allegro_gl_load_system_font_ex (char *name, int type, int style, int w, int h, float depth, int start, int end)
| Loads a system font. More...
void | allegro_gl_destroy_font (FONT *f)
| void allegro_gl_destroy_font(FONT *usefont) More...
size_t | allegro_gl_list_font_textures (FONT *f, GLuint *ids, size_t max_num_id)
| List the texture ID of all textures forming the specified font. More...

## Detailed Description

Main header file for AllegroGL.

Definition in file alleggl.h.