AllegroGL  0.4.4
Macros | Functions | Variables
glvtable.c File Reference

Allegro->OpenGL conversion vtable. More...

#include <string.h>
#include <allegro.h>
#include "alleggl.h"
#include "allglint.h"
#include "glvtable.h"
#include <allegro/internal/aintern.h>
#include <GL/glu.h>

Go to the source code of this file.

Macros

#define SET_TEX_COORDS(x, y)
 
#define BITMAP_BLIT_CLIP(source, dest, source_x, source_y, dest_x, dest_y, width, height)
 
#define DRAW_RLE_8888(bits)
 
#define BIN_2_DEG(x)   (-(x) * 180.0 / 128)
 

Functions

int __allegro_gl_make_power_of_2 (int x)
 
void allegro_gl_drawing_mode (void)
 
void split_color (int color, GLubyte *r, GLubyte *g, GLubyte *b, GLubyte *a, int color_depth)
 
void allegro_gl_created_sub_bitmap (BITMAP *bmp, BITMAP *parent)
 
static void allegro_gl_screen_acquire (struct BITMAP *bmp)
 acquire_bitmap(screen) overload. More...
 
static void allegro_gl_screen_release (struct BITMAP *bmp)
 release_bitmap(screen) overload. More...
 
static int allegro_gl_screen_getpixel (struct BITMAP *bmp, int x, int y)
 
static void allegro_gl_screen_putpixel (struct BITMAP *bmp, int x, int y, int color)
 
static void allegro_gl_screen_vline (struct BITMAP *bmp, int x, int y1, int y2, int color)
 
static void allegro_gl_screen_hline (struct BITMAP *bmp, int x1, int y, int x2, int color)
 
static void allegro_gl_screen_line (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
 
void allegro_gl_screen_rectfill (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
 
static void allegro_gl_screen_triangle (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
 
static void allegro_gl_screen_blit_from_memory (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
 
static void allegro_gl_screen_blit_to_memory (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
 
void allegro_gl_screen_blit_to_self (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
 
void allegro_gl_upload_and_display_texture (struct BITMAP *source, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, GLint format, GLint type)
 
static void do_screen_masked_blit_standard (GLint format, GLint type, struct BITMAP *temp, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
 
static void screen_masked_blit_standard (struct BITMAP *source, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
 
static void __allegro_gl_init_nv_register_combiners (BITMAP *bmp)
 
static void screen_masked_blit_nv_register (struct BITMAP *source, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
 
static void __allegro_gl_init_combine_textures (BITMAP *bmp)
 
static void screen_masked_blit_combine_tex (struct BITMAP *source, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
 
void do_masked_blit_screen (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
 
static BITMAP * __allegro_gl_convert_rle_sprite (AL_CONST struct RLE_SPRITE *sprite, int trans)
 
void allegro_gl_screen_draw_rle_sprite (struct BITMAP *bmp, AL_CONST struct RLE_SPRITE *sprite, int x, int y)
 
static void allegro_gl_screen_draw_trans_rgba_rle_sprite (struct BITMAP *bmp, AL_CONST struct RLE_SPRITE *sprite, int x, int y)
 
static void allegro_gl_screen_masked_blit (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
 
static void allegro_gl_screen_draw_sprite (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
static void allegro_gl_screen_draw_sprite_v_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
static void allegro_gl_screen_draw_sprite_h_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
static void allegro_gl_screen_draw_sprite_vh_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
static void allegro_gl_screen_pivot_scaled_sprite_flip (struct BITMAP *bmp, struct BITMAP *sprite, fixed x, fixed y, fixed cx, fixed cy, fixed angle, fixed scale, int v_flip)
 
static void allegro_gl_screen_draw_trans_rgba_sprite (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
static void allegro_gl_screen_draw_sprite_ex (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int mode, int flip)
 
void allegro_gl_screen_draw_glyph_ex (struct BITMAP *bmp, AL_CONST struct FONT_GLYPH *glyph, int x, int y, int color, int bg, int flip)
 
static void allegro_gl_screen_draw_glyph (struct BITMAP *bmp, AL_CONST struct FONT_GLYPH *glyph, int x, int y, int color, int bg)
 
void allegro_gl_screen_draw_color_glyph_ex (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int color, int bg, int flip)
 
static void allegro_gl_screen_draw_color_glyph (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int color, int bg)
 
static void allegro_gl_screen_draw_character (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int color, int bg)
 
static void allegro_gl_screen_draw_256_sprite (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
 
void allegro_gl_screen_clear_to_color (struct BITMAP *bmp, int color)
 
static void allegro_gl_screen_polygon (struct BITMAP *bmp, int vertices, AL_CONST int *points, int color)
 
static void allegro_gl_screen_rect (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
 
void allegro_gl_screen_polygon3d_f (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D_f *vtx[])
 
static void allegro_gl_screen_polygon3d (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D *vtx[])
 
static void allegro_gl_screen_quad3d_f (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4)
 
static void allegro_gl_screen_quad3d (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4)
 
static void allegro_gl_screen_triangle3d (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3)
 
static void allegro_gl_screen_triangle3d_f (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3)
 
void __allegro_gl__glvtable_update_vtable (GFX_VTABLE **vtable)
 
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...
 
void allegro_gl_memory_blit_between_formats (struct BITMAP *src, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
 
static void dummy_unwrite_bank (void)
 

Variables

static GFX_VTABLE allegro_gl_screen_vtable
 
static GLuint __allegro_gl_pool_texture = 0
 
static GLuint __allegro_gl_dummy_texture = 0
 
static int __agl_owning_drawing_pattern_tex = FALSE
 
GLuint __agl_drawing_pattern_tex = 0
 
BITMAP * __agl_drawing_pattern_bmp = 0
 
static int __agl_drawing_mode = DRAW_MODE_SOLID
 
static double allegro_gl_projection_matrix [16]
 
static double allegro_gl_modelview_matrix [16]
 

Detailed Description

Allegro->OpenGL conversion vtable.

Definition in file glvtable.c.

Macro Definition Documentation

#define DRAW_RLE_8888 (   bits)
Value:
{ \
for (y = 0; y < sprite->h; y++) { \
signed long c = *s++; \
for (x = 0; x < sprite->w;) { \
if (c == src_mask) \
break; \
if (c > 0) { \
/* Run of solid pixels */ \
for (c--; c>=0; c--) { \
unsigned long col = *s++; \
if (bits == 32 && trans) \
_putpixel32(temp, x++, y, makeacol32(getr32(col), getg32(col), getb32(col), geta32(col))); \
else \
_putpixel32(temp, x++, y, makeacol32(getr##bits(col), getg##bits(col), getb##bits(col), 255)); \
} \
} \
else { \
/* Run of transparent pixels */ \
hline(temp, x, y, x-c+1, 0); \
x -= c; \
} \
c = *s++; \
} \
} \
}
for()
Converts an OpenGL floating-point matrix issued from the matrix stack to an Allegro fixed-point matri...
Definition: math.c:114