AllegroGL
0.4.4
|
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... | |
Main header file for AllegroGL.
Definition in file alleggl.h.