48 #define SDR_FLAG_MODEL_LIGHT            (1<<0) 
   49 #define SDR_FLAG_MODEL_FOG                      (1<<1) 
   50 #define SDR_FLAG_MODEL_DIFFUSE_MAP      (1<<2) 
   51 #define SDR_FLAG_MODEL_GLOW_MAP         (1<<3) 
   52 #define SDR_FLAG_MODEL_SPEC_MAP         (1<<4) 
   53 #define SDR_FLAG_MODEL_NORMAL_MAP       (1<<5) 
   54 #define SDR_FLAG_MODEL_HEIGHT_MAP       (1<<6) 
   55 #define SDR_FLAG_MODEL_ENV_MAP          (1<<7) 
   56 #define SDR_FLAG_MODEL_ANIMATED         (1<<8) 
   57 #define SDR_FLAG_MODEL_MISC_MAP         (1<<9) 
   58 #define SDR_FLAG_MODEL_TEAMCOLOR        (1<<10) 
   59 #define SDR_FLAG_MODEL_TRANSFORM        (1<<11) 
   60 #define SDR_FLAG_MODEL_DEFERRED         (1<<12) 
   61 #define SDR_FLAG_MODEL_SHADOW_MAP       (1<<13) 
   62 #define SDR_FLAG_MODEL_GEOMETRY         (1<<14) 
   63 #define SDR_FLAG_MODEL_SHADOWS          (1<<15) 
   64 #define SDR_FLAG_MODEL_THRUSTER         (1<<16) 
   65 #define SDR_FLAG_MODEL_CLIP                     (1<<17) 
   67 #define SDR_FLAG_PARTICLE_POINT_GEN                     (1<<0) 
   69 #define SDR_FLAG_BLUR_HORIZONTAL                        (1<<0) 
   70 #define SDR_FLAG_BLUR_VERTICAL                          (1<<1) 
   88 #define AC_TYPE_NONE            0               // Not an alphacolor 
   89 #define AC_TYPE_HUD             1               // Doesn't change hue depending on background.  Used for HUD stuff. 
   90 #define AC_TYPE_BLEND   2               // Changes hue depending on background.  Used for stars, etc. 
  135                 bool compare_indices;
 
  139                 finder(
poly_list* _search_list): search_list(_search_list), compare_indices(
true), vert_to_find(NULL), norm_to_find(NULL) {}
 
  140                 finder(
poly_list* _search_list, 
vertex* _vert, 
vec3d* _norm): search_list(_search_list), compare_indices(
false), vert_to_find(_vert), norm_to_find(_norm) {}
 
  163         int currently_allocated;
 
  164         int find_first_vertex(
int idx);
 
  165         int find_first_vertex_fast(
int idx);
 
  166         void generate_sorted_index_list();
 
  215                 if (i_first > i_last)
 
  216                         i_first = i_last = j;
 
  217                 else if (i_first > j)
 
  226         flags(0), texture(-1), n_verts(0), index_offset(0),
 
  227                 i_first(1), i_last(0), 
index(NULL)
 
  232                 flags(0), texture(-1), n_verts(n_vrts), index_offset(0),
 
  233                 i_first(1), i_last(0), 
index(NULL)
 
  274                         if ( rhs.index && rhs.
n_verts > 0 ) {
 
  317                 flags(0), stride(0), vertex_offset(0), model_list(NULL)
 
  348 #define GR_ALPHABLEND_NONE                      0               // no blending 
  349 #define GR_ALPHABLEND_FILTER            1               // 50/50 mix of foreground, background, using intensity as alpha 
  351 #define GR_BITBLT_MODE_NORMAL           0               // Normal bitblting 
  352 #define GR_BITBLT_MODE_RLE                      1               // RLE would be faster 
  355 #define GR_FOGMODE_NONE                         0               // set this to turn off fog 
  356 #define GR_FOGMODE_FOG                          1               // linear fog 
  440         void (*
gf_arc)(
int x, 
int y, 
float r, 
float angle_start, 
float angle_end, 
bool fill, 
int resize_mode);
 
  525         void (*
gf_cross_fade)(
int bmap1, 
int bmap2, 
int x1, 
int y1, 
int x2, 
int y2, 
float pct, 
int resize_mode);
 
  528         int (*
gf_tcache_set)(
int bitmap_id, 
int bitmap_type, 
float *u_scale, 
float *v_scale, 
int stage);        
 
  639 #define GR_MAYBE_CLEAR_RES(bmap)                do  { int bmw = -1; int bmh = -1; if(bmap != -1){ bm_get_info( bmap, &bmw, &bmh, NULL, NULL, NULL); if((bmw != gr_screen.max_w) || (bmh != gr_screen.max_h)){gr_clear();} } else {gr_clear();} } while(0); 
  646 #define GR_DEFAULT                              (-1)            // set to use default settings 
  647 #define GR_STUB                                 (100)            
  648 #define GR_OPENGL                               (104)           // Use OpenGl hardware renderer 
  651 #define GR_NUM_RESOLUTIONS                      2 
  652 #define GR_640                                                  0               // 640 x 480 
  653 #define GR_1024                                         1               // 1024 x 768 
  655 #define GR_1024_THRESHOLD_WIDTH         1024 
  656 #define GR_1024_THRESHOLD_HEIGHT        600 
  669 #define GR_FILL_MODE_WIRE 1 
  670 #define GR_FILL_MODE_SOLID 2 
  672 #define GR_ZBUFF_NONE   0 
  673 #define GR_ZBUFF_WRITE  (1<<0) 
  674 #define GR_ZBUFF_READ   (1<<1) 
  675 #define GR_ZBUFF_FULL   (GR_ZBUFF_WRITE|GR_ZBUFF_READ) 
  677 #define GR_STENCIL_NONE         0 
  678 #define GR_STENCIL_READ         1 
  679 #define GR_STENCIL_WRITE        2 
  681 #define GR_RESIZE_NONE                          0 
  682 #define GR_RESIZE_FULL                          1 
  683 #define GR_RESIZE_FULL_CENTER           2 
  684 #define GR_RESIZE_MENU                          3 
  685 #define GR_RESIZE_MENU_ZOOMED           4 
  686 #define GR_RESIZE_MENU_NO_OFFSET        5 
  720 #define GR_CURSOR_LOCK          1 
  721 #define GR_CURSOR_UNLOCK        2 
  730 #define GR_CALL(x)                      (*x) 
  735 #define gr_print_screen         GR_CALL(gr_screen.gf_print_screen) 
  745 #define gr_reset_clip           GR_CALL(gr_screen.gf_reset_clip) 
  749 #define gr_clear                                GR_CALL(gr_screen.gf_clear) 
  762         (*gr_screen.
gf_bitmap_ex)(x, y, w, h, sx, sy, resize_mode);
 
  771         (*gr_screen.
gf_string)(x,y,
string,resize_mode);
 
  776         (*gr_screen.
gf_circle)(xc,yc,d,resize_mode);
 
  784 __inline 
void gr_arc(
int xc, 
int yc, 
float r, 
float angle_start, 
float angle_end, 
bool fill, 
int resize_mode = 
GR_RESIZE_FULL)
 
  786         (*gr_screen.
gf_arc)(xc,yc,r,angle_start,angle_end,fill,resize_mode);
 
  789 #define gr_curve                                GR_CALL(gr_screen.gf_curve) 
  793         (*gr_screen.
gf_line)(x1, y1, x2, y2, resize_mode);
 
  796 #define gr_aaline                               GR_CALL(gr_screen.gf_aaline) 
  800         (*gr_screen.
gf_pixel)(x, y, resize_mode);
 
  802 #define gr_scaler                               GR_CALL(gr_screen.gf_scaler) 
  803 #define gr_aascaler                     GR_CALL(gr_screen.gf_aascaler) 
  804 #define gr_tmapper                      GR_CALL(gr_screen.gf_tmapper) 
  805 #define gr_render                       GR_CALL(gr_screen.gf_render) 
  806 #define gr_render_effect        GR_CALL(gr_screen.gf_render_effect) 
  810         (*gr_screen.
gf_gradient)(x1, y1, x2, y2, resize_mode);
 
  813 #define gr_flash                        GR_CALL(gr_screen.gf_flash) 
  814 #define gr_flash_alpha          GR_CALL(gr_screen.gf_flash_alpha) 
  816 #define gr_zbuffer_get          GR_CALL(gr_screen.gf_zbuffer_get) 
  817 #define gr_zbuffer_set          GR_CALL(gr_screen.gf_zbuffer_set) 
  818 #define gr_zbuffer_clear        GR_CALL(gr_screen.gf_zbuffer_clear) 
  820 #define gr_stencil_set          GR_CALL(gr_screen.gf_stencil_set) 
  821 #define gr_stencil_clear        GR_CALL(gr_screen.gf_stencil_clear) 
  823 #define gr_alpha_mask_set       GR_CALL(gr_screen.gf_alpha_mask_set) 
  825 #define gr_save_screen          GR_CALL(gr_screen.gf_save_screen) 
  826 #define gr_restore_screen       GR_CALL(gr_screen.gf_restore_screen) 
  827 #define gr_free_screen          GR_CALL(gr_screen.gf_free_screen) 
  829 #define gr_set_gamma                    GR_CALL(gr_screen.gf_set_gamma) 
  831 #define gr_get_region           GR_CALL(gr_screen.gf_get_region) 
  833 __inline 
void gr_fog_set(
int fog_mode, 
int r, 
int g, 
int b, 
float fog_near = -1.0
f, 
float fog_far = -1.0
f)
 
  835         (*gr_screen.
gf_fog_set)(fog_mode, r, g, b, fog_near, fog_far);
 
  838 #define gr_set_cull                     GR_CALL(gr_screen.gf_set_cull) 
  839 #define gr_set_color_buffer     GR_CALL(gr_screen.gf_set_color_buffer) 
  841 #define gr_cross_fade           GR_CALL(gr_screen.gf_cross_fade) 
  843 __inline 
int gr_tcache_set(
int bitmap_id, 
int bitmap_type, 
float *u_scale, 
float *v_scale, 
int stage = 0)
 
  845         return (*gr_screen.
gf_tcache_set)(bitmap_id, bitmap_type, u_scale, v_scale, stage);
 
  848 #define gr_preload                      GR_CALL(gr_screen.gf_preload) 
  850 #define gr_set_clear_color      GR_CALL(gr_screen.gf_set_clear_color) 
  852 #define gr_translate_texture_matrix             GR_CALL(gr_screen.gf_translate_texture_matrix) 
  853 #define gr_push_texture_matrix                  GR_CALL(gr_screen.gf_push_texture_matrix) 
  854 #define gr_pop_texture_matrix                   GR_CALL(gr_screen.gf_pop_texture_matrix) 
  858 #define gr_bm_free_data                         GR_CALL(*gr_screen.gf_bm_free_data) 
  859 #define gr_bm_create                            GR_CALL(*gr_screen.gf_bm_create) 
  860 #define gr_bm_init                                      GR_CALL(*gr_screen.gf_bm_init) 
  861 #define gr_bm_page_in_start                     GR_CALL(*gr_screen.gf_bm_page_in_start) 
  862 #define gr_bm_data                                      GR_CALL(*gr_screen.gf_bm_data) 
  864 #define gr_bm_make_render_target                                        GR_CALL(*gr_screen.gf_bm_make_render_target)           
  871 #define gr_set_texture_addressing                                        GR_CALL(*gr_screen.gf_set_texture_addressing)             
  873 #define gr_create_buffer                                GR_CALL(*gr_screen.gf_create_buffer) 
  874 #define gr_pack_buffer                                  GR_CALL(*gr_screen.gf_pack_buffer) 
  875 #define gr_config_buffer                                GR_CALL(*gr_screen.gf_config_buffer) 
  876 #define gr_destroy_buffer                                GR_CALL(*gr_screen.gf_destroy_buffer) 
  882 #define gr_update_buffer_object                 GR_CALL(*gr_screen.gf_update_buffer_object) 
  883 #define gr_update_transform_buffer              GR_CALL(*gr_screen.gf_update_transform_buffer) 
  884 #define gr_set_transform_buffer_offset  GR_CALL(*gr_screen.gf_set_transform_buffer_offset) 
  886 #define gr_create_stream_buffer                 GR_CALL(*gr_screen.gf_create_stream_buffer) 
  887 #define gr_render_stream_buffer                 GR_CALL(*gr_screen.gf_render_stream_buffer) 
  888 #define gr_render_stream_buffer_start   GR_CALL(*gr_screen.gf_render_stream_buffer_start) 
  889 #define gr_render_stream_buffer_end             GR_CALL(*gr_screen.gf_render_stream_buffer_end) 
  891 #define gr_set_buffer                                   GR_CALL(*gr_screen.gf_set_buffer)       
  893 #define gr_set_proj_matrix                                      GR_CALL(*gr_screen.gf_set_proj_matrix)             
  894 #define gr_end_proj_matrix                                      GR_CALL(*gr_screen.gf_end_proj_matrix)             
  895 #define gr_set_view_matrix                                      GR_CALL(*gr_screen.gf_set_view_matrix)             
  896 #define gr_end_view_matrix                                      GR_CALL(*gr_screen.gf_end_view_matrix)             
  897 #define gr_push_scale_matrix                            GR_CALL(*gr_screen.gf_push_scale_matrix)             
  898 #define gr_pop_scale_matrix                                     GR_CALL(*gr_screen.gf_pop_scale_matrix)             
  899 #define gr_start_instance_matrix                        GR_CALL(*gr_screen.gf_start_instance_matrix)             
  900 #define gr_start_angles_instance_matrix         GR_CALL(*gr_screen.gf_start_angles_instance_matrix)             
  901 #define gr_end_instance_matrix                          GR_CALL(*gr_screen.gf_end_instance_matrix)             
  903 #define gr_make_light                                   GR_CALL(*gr_screen.gf_make_light) 
  904 #define gr_modify_light                                 GR_CALL(*gr_screen.gf_modify_light) 
  905 #define gr_destroy_light                                GR_CALL(*gr_screen.gf_destroy_light) 
  906 #define gr_set_light                                    GR_CALL(*gr_screen.gf_set_light) 
  907 #define gr_reset_lighting                               GR_CALL(*gr_screen.gf_reset_lighting) 
  908 #define gr_set_ambient_light                    GR_CALL(*gr_screen.gf_set_ambient_light) 
  910 #define gr_scene_texture_begin                  GR_CALL(*gr_screen.gf_scene_texture_begin) 
  911 #define gr_scene_texture_end                    GR_CALL(*gr_screen.gf_scene_texture_end) 
  912 #define gr_copy_effect_texture                  GR_CALL(*gr_screen.gf_copy_effect_texture) 
  914 #define gr_post_process_set_effect              GR_CALL(*gr_screen.gf_post_process_set_effect) 
  915 #define gr_post_process_set_defaults    GR_CALL(*gr_screen.gf_post_process_set_defaults) 
  916 #define gr_post_process_begin                   GR_CALL(*gr_screen.gf_post_process_begin) 
  917 #define gr_post_process_end                             GR_CALL(*gr_screen.gf_post_process_end) 
  918 #define gr_post_process_save_zbuffer    GR_CALL(*gr_screen.gf_post_process_save_zbuffer) 
  920 #define gr_deferred_lighting_begin              GR_CALL(*gr_screen.gf_deferred_lighting_begin) 
  921 #define gr_deferred_lighting_end                GR_CALL(*gr_screen.gf_deferred_lighting_end) 
  922 #define gr_deferred_lighting_finish             GR_CALL(*gr_screen.gf_deferred_lighting_finish) 
  924 #define gr_set_lighting                                 GR_CALL(*gr_screen.gf_lighting) 
  925 #define gr_set_light_factor                             GR_CALL(*gr_screen.gf_set_light_factor) 
  926 #define gr_center_alpha                                 GR_CALL(*gr_screen.gf_center_alpha) 
  927 #define gr_set_thrust_scale                             GR_CALL(*gr_screen.gf_set_thrust_scale) 
  929 #define gr_start_clip                                   GR_CALL(*gr_screen.gf_start_clip_plane) 
  930 #define gr_end_clip                                             GR_CALL(*gr_screen.gf_end_clip_plane) 
  932 #define gr_zbias                                                GR_CALL(*gr_screen.gf_zbias) 
  933 #define gr_set_fill_mode                                GR_CALL(*gr_screen.gf_set_fill_mode) 
  934 #define gr_set_texture_panning                  GR_CALL(*gr_screen.gf_set_texture_panning) 
  936 #define gr_draw_line_list                               GR_CALL(*gr_screen.gf_draw_line_list) 
  938 #define gr_set_line_width                               GR_CALL(*gr_screen.gf_set_line_width) 
  940 #define gr_line_htl                                             GR_CALL(*gr_screen.gf_line_htl) 
  941 #define gr_sphere_htl                                   GR_CALL(*gr_screen.gf_sphere_htl) 
  943 #define gr_maybe_create_shader                  GR_CALL(*gr_screen.gf_maybe_create_shader) 
  944 #define gr_set_animated_effect                  GR_CALL(*gr_screen.gf_set_animated_effect) 
  946 #define gr_clear_states                                 GR_CALL(*gr_screen.gf_clear_states) 
  948 #define gr_set_team_color                               GR_CALL(*gr_screen.gf_set_team_color) 
  950 #define gr_update_texture                               GR_CALL(*gr_screen.gf_update_texture) 
  951 #define gr_get_bitmap_from_texture              GR_CALL(*gr_screen.gf_get_bitmap_from_texture) 
  953 #define gr_shadow_map_start                             GR_CALL(*gr_screen.gf_shadow_map_start) 
  954 #define gr_shadow_map_end                               GR_CALL(*gr_screen.gf_shadow_map_end) 
  986 void gr_bitmap_uv(
int _x, 
int _y, 
int _w, 
int _h, 
float _u0, 
float _v0, 
float _u1, 
float _v1, 
int resize_mode = 
GR_RESIZE_FULL);
 
  999 #define VB_FLAG_POSITION        (1<<0)   
 1000 #define VB_FLAG_RHW                     (1<<1)  //incompatable with the next normal 
 1001 #define VB_FLAG_NORMAL          (1<<2)   
 1002 #define VB_FLAG_DIFUSE          (1<<3)   
 1003 #define VB_FLAG_SPECULAR        (1<<4)   
 1004 #define VB_FLAG_UV1                     (1<<5)  //how many UV coords, only use one of these 
 1005 #define VB_FLAG_UV2                     (1<<6)   
 1006 #define VB_FLAG_UV3                     (1<<7)   
 1007 #define VB_FLAG_UV4                     (1<<8) 
 1008 #define VB_FLAG_TANGENT         (1<<9) 
 1009 #define VB_FLAG_LARGE_INDEX     (1<<10) 
 1010 #define VB_FLAG_MODEL_ID        (1<<11) 
 1011 #define VB_FLAG_TRANS           (1<<12) 
 1037         format_type(i_format_type), stride(i_stride), data_src(i_data_src) {}
 
 1061                 Vertex_mask |= (1 << format_type);
 
GLenum GLsizei GLenum format
 
struct team_color::@238 stripe
 
void(* gf_aaline)(vertex *v1, vertex *v2)
 
void(* gf_set_proj_matrix)(float, float, float, float)
 
void gr_set_color_fast(color *dst)
 
bool resident_vertex_format(vertex_format_data::vertex_format format_type)
 
void(* gf_destroy_light)(int)
 
void(* gf_fog_set)(int fog_mode, int r, int g, int b, float fog_near, float fog_far)
 
void(* gf_bm_create)(int n)
 
__inline int gr_tcache_set(int bitmap_id, int bitmap_type, float *u_scale, float *v_scale, int stage=0)
 
GLfloat GLfloat GLfloat GLfloat h
 
void(* gf_set_palette)(const ubyte *new_pal, int restrict_alphacolor)
 
void(* gf_bm_free_data)(int n, bool release)
 
void(* gf_push_texture_matrix)(int unit)
 
void gr_string_win(int x, int y, const char *s)
 
int gr_get_resolution_class(int width, int height)
 
void(* gf_free_screen)(int id)
 
void gr_set_bitmap(int bitmap_num, int alphablend=GR_ALPHABLEND_NONE, int bitbltmode=GR_BITBLT_MODE_NORMAL, float alpha=1.0f)
 
void(* gf_shadow_map_start)(const matrix4 *shadow_view_matrix, const matrix *light_matrix)
 
void gr_create_shader(shader *shade, ubyte r, ubyte g, ubyte b, ubyte c)
 
bool gr_resize_screen_posf(float *x, float *y, float *w=NULL, float *h=NULL, int resize_mode=GR_RESIZE_FULL)
 
void gr_set_shader(shader *shade)
 
void(* gf_sphere_htl)(float rad)
 
__inline void gr_circle(int xc, int yc, int d, int resize_mode=GR_RESIZE_FULL)
 
buffer_data(const buffer_data &other)
 
uint gr_determine_model_shader_flags(bool lighting, bool fog, bool textured, bool in_shadow_map, bool thruster_scale, bool transform, bool team_color_set, int tmap_flags, int spec_map, int glow_map, int normal_map, int height_map, int env_map, int misc_map)
 
void(* gf_aabitmap_ex)(int x, int y, int w, int h, int sx, int sy, int resize_mode, bool mirror)
 
void gr_bitmap_list(bitmap_2d_list *list, int n_bm, int resize_mode)
 
void gr_get_color(int *r, int *g, int b)
 
void(* gf_stencil_clear)()
 
void(* gf_reset_lighting)()
 
void(* gf_center_alpha)(int)
 
void(* gf_get_bitmap_from_texture)(void *data_out, int bitmap_num)
 
void(* gf_render_effect)(int nv, vertex *verts, float *radius_list, uint flags)
 
void(* gf_shadow_map_end)()
 
void(* gf_line)(int x1, int y1, int x2, int y2, int resize_mode)
 
int(* gf_bm_set_render_target)(int n, int face)
 
#define GR_NUM_RESOLUTIONS
 
__inline int gr_bm_set_render_target(int n, int face=-1)
 
__inline void gr_string(int x, int y, const char *string, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_set_animated_effect)(int effect, float timer)
 
void assign(int i, uint j)
 
void(* gf_flash)(int r, int g, int b)
 
void(* gf_set_view_matrix)(const vec3d *, const matrix *)
 
__inline void gr_gradient(int x1, int y1, int x2, int y2, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_deferred_lighting_end)()
 
void(* gf_post_process_set_effect)(const char *, int)
 
void(* gf_scene_texture_begin)()
 
void gr_activate(int active)
 
int(* gf_set_cull)(int cull)
 
__inline void gr_render_buffer(int start, const vertex_buffer *bufferp, int texi, int flags=TMAP_FLAG_TEXTURED)
 
buffer_data & operator=(const buffer_data &rhs)
 
void gr_bitmap_uv(int _x, int _y, int _w, int _h, float _u0, float _v0, float _u1, float _v1, int resize_mode=GR_RESIZE_FULL)
 
bool(* gf_pack_buffer)(const int buffer_id, vertex_buffer *vb)
 
void gr_reset_screen_scale()
 
int(* gf_maybe_create_shader)(shader_type type, unsigned int flags)
 
int(* gf_set_color_buffer)(int mode)
 
void gr_opengl_update_texture(int bitmap_handle, int bpp, const ubyte *data, int width, int height)
 
GLfloat GLfloat GLfloat v2
 
bool(* gf_bm_data)(int n, bitmap *bm)
 
void(* gf_draw_line_list)(const colored_vector *lines, int num)
 
poly_list & operator=(poly_list &)
 
color current_clear_color
 
int(* gf_stencil_set)(int mode)
 
void(* gf_bm_page_in_start)()
 
void(* gf_pixel)(int x, int y, int resize_mode)
 
void(* gf_set_gamma)(float gamma)
 
uint get_num_vertex_components()
 
bool gr_unsize_screen_posf(float *x, float *y, float *w=NULL, float *h=NULL, int resize_mode=GR_RESIZE_FULL)
 
int(* gf_create_buffer)()
 
void(* gf_translate_texture_matrix)(int unit, const vec3d *shift)
 
void gr_get_string_size_win(int *w, int *h, const char *text)
 
void(* gf_circle)(int x, int y, int r, int resize_mode)
 
void gr_rect(int x, int y, int w, int h, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_arc)(int x, int y, float r, float angle_start, float angle_end, bool fill, int resize_mode)
 
__inline void gr_set_clip(int x, int y, int w, int h, int resize_mode=GR_RESIZE_FULL)
 
SCP_vector< buffer_data > tex_buf
 
void(* gf_set_clip)(int x, int y, int w, int h, int resize_mode)
 
GLenum GLuint GLint GLenum face
 
void(* gf_post_process_set_defaults)()
 
typedef int(SCP_EXT_CALLCONV *SCPDLL_PFVERSION)(SCPDLL_Version *)
 
void(* gf_unfilled_circle)(int x, int y, int r, int resize_mode)
 
void(* gf_destroy_buffer)(int)
 
const float Default_max_draw_distance
 
GLdouble GLdouble GLdouble r
 
int(* gf_alpha_mask_set)(int mode, float alpha)
 
void(* gf_start_clip_plane)()
 
void gr_init_alphacolor(color *clr, int r, int g, int b, int alpha, int type=AC_TYPE_HUD)
 
void add_vertex_component(vertex_format_data::vertex_format format_type, uint stride, void *src)
 
__inline void gr_arc(int xc, int yc, float r, float angle_start, float angle_end, bool fill, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_aascaler)(vertex *va, vertex *vb)
 
void(* gf_set_light_factor)(float)
 
GLboolean GLboolean GLboolean GLboolean a
 
__inline void gr_unfilled_circle(int xc, int yc, int d, int resize_mode=GR_RESIZE_FULL)
 
void _cdecl gr_printf_menu_zoomed(int x, int y, const char *format,...)
 
void(* gf_set_transform_buffer_offset)(int offset)
 
void(* gf_set_texture_panning)(float u, float v, bool enable)
 
void(* gf_tmapper)(int nv, vertex *verts[], uint flags)
 
void _cdecl gr_printf(int x, int y, const char *format,...)
 
void(* gf_end_view_matrix)()
 
int(* gf_bm_make_render_target)(int n, int *width, int *height, ubyte *bpp, int *mm_lvl, int flags)
 
void(* gf_update_texture)(int bitmap_handle, int bpp, const ubyte *data, int width, int height)
 
void(* gf_restore_screen)(int id)
 
vertex_format_data * get_vertex_component(uint index)
 
int(* gf_zbuffer_set)(int mode)
 
void(* gf_update_transform_buffer)(void *data, uint size)
 
void(* gf_end_clip_plane)()
 
void(* gf_clear_states)()
 
void gr_pline_special(SCP_vector< vec3d > *pts, int thickness, int resize_mode=GR_RESIZE_FULL)
 
int find_index(poly_list *plist, int idx)
 
void(* gf_start_angles_instance_matrix)(const vec3d *, const angles *)
 
void make_index_buffer(SCP_vector< int > &vertex_list)
 
void gr_set_screen_scale(int x, int y, int zoom_x=-1, int zoom_y=-1, int max_x=gr_screen.max_w, int max_y=gr_screen.max_h, int center_x=gr_screen.center_w, int center_y=gr_screen.center_h, bool force_stretch=false)
 
__inline void gr_bitmap_ex(int x, int y, int w, int h, int sx, int sy, int resize_mode=GR_RESIZE_FULL)
 
int find_index_fast(poly_list *plist, int idx)
 
void(* gf_lighting)(bool, bool)
 
int(* gf_make_light)(light *, int, int)
 
void(* gf_bm_init)(int n)
 
int(* gf_preload)(int bitmap_num, int is_aabitmap)
 
void(* gf_post_process_begin)()
 
void(* gf_post_process_save_zbuffer)()
 
void gr_shade(int x, int y, int w, int h, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_flash_alpha)(int r, int g, int b, int a)
 
void(* gf_scaler)(vertex *va, vertex *vb, bool bw_bitmap)
 
int save_max_w_unscaled_zoomed
 
void(* gf_string)(int x, int y, const char *text, int resize_mode)
 
GLint GLint GLint GLint GLint x
 
for(int idx=0;idx< i;idx++)
 
void(* gf_set_line_width)(float width)
 
void gr_shield_icon(coord2d coords[6], const int resize_mode=GR_RESIZE_FULL)
 
void gr_screen_resize(int width, int height)
 
typedef void(APIENTRY *PFNGLARRAYELEMENTEXTPROC)(GLint i)
 
GLuint const GLchar * name
 
__inline void gr_line(int x1, int y1, int x2, int y2, int resize_mode=GR_RESIZE_FULL)
 
int max_w_unscaled_zoomed
 
void(* gf_set_clear_color)(int r, int g, int b)
 
const char * Resolution_prefixes[GR_NUM_RESOLUTIONS]
 
void(* gf_line_htl)(const vec3d *start, const vec3d *end)
 
GLboolean GLboolean GLboolean b
 
__inline void gr_fog_set(int fog_mode, int r, int g, int b, float fog_near=-1.0f, float fog_far=-1.0f)
 
void(* gf_set_texture_addressing)(int)
 
typedef float(SCP_EXT_CALLCONV *SCPTRACKIR_PFFLOATVOID)()
 
void(* gf_copy_effect_texture)()
 
bool gr_unsize_screen_pos(int *x, int *y, int *w=NULL, int *h=NULL, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_scene_texture_end)()
 
void(* gf_pop_texture_matrix)(int unit)
 
struct team_color::@237 base
 
void(* gf_set_fill_mode)(int)
 
GLint GLsizei GLsizei height
 
bool(* gf_config_buffer)(const int buffer_id, vertex_buffer *vb, bool update_ibuffer_only)
 
void(* gf_post_process_end)()
 
GLubyte GLubyte GLubyte GLubyte w
 
const uint * get_index() const 
 
void gr_set_cursor_bitmap(int n, int lock=0)
 
void gr_unset_cursor_bitmap(int n)
 
void(* gf_zbuffer_clear)(int use_zbuffer)
 
void gr_set_palette(const char *name, ubyte *palette, int restrict_to_128=0)
 
void(* gf_set_ambient_light)(int, int, int)
 
void(* gf_start_instance_matrix)(const vec3d *, const matrix *)
 
struct team_color team_color
 
void gr_get_string_size(int *w, int *h, const char *text, int len=9999)
 
void(* gf_pop_scale_matrix)()
 
void(* gf_deferred_lighting_finish)()
 
int gr_get_cursor_bitmap()
 
bool gr_init(int d_mode=GR_DEFAULT, int d_width=GR_DEFAULT, int d_height=GR_DEFAULT, int d_depth=GR_DEFAULT)
 
__inline void gr_aabitmap(int x, int y, int resize_mode=GR_RESIZE_FULL, bool mirror=false)
 
GLenum GLsizei GLenum GLenum const GLvoid * data
 
#define TMAP_FLAG_TEXTURED
 
__inline void gr_aabitmap_ex(int x, int y, int w, int h, int sx, int sy, int resize_mode=GR_RESIZE_FULL, bool mirror=false)
 
void(* gf_set_light)(light *)
 
void(* gf_push_scale_matrix)(const vec3d *)
 
int current_alphablend_mode
 
void(* gf_cross_fade)(int bmap1, int bmap2, int x1, int y1, int x2, int y2, float pct, int resize_mode)
 
const float Default_min_draw_distance
 
void(* gf_zbias)(int zbias)
 
#define GR_BITBLT_MODE_NORMAL
 
void(* gf_get_region)(int front, int w, int h, ubyte *data)
 
void(* gf_set_thrust_scale)(float)
 
void(* gf_aabitmap)(int x, int y, int resize_mode, bool mirror)
 
void(* gf_set_team_color)(const team_color *colors)
 
void(* gf_end_instance_matrix)()
 
bool gr_resize_screen_pos(int *x, int *y, int *w=NULL, int *h=NULL, int resize_mode=GR_RESIZE_FULL)
 
void(* gf_render_stream_buffer)(int buffer_handle, int offset, int n_verts, int flags)
 
ubyte * gr_opengl_get_texture_update_pointer(int bitmap_handle)
 
void(* gf_deferred_lighting_begin)()
 
#define GR_ALPHABLEND_NONE
 
void _cdecl gr_printf_no_resize(int x, int y, const char *format,...)
 
void(* gf_end_proj_matrix)()
 
int save_max_h_unscaled_zoomed
 
__inline void gr_pixel(int x, int y, int resize_mode=GR_RESIZE_FULL)
 
GLclampf GLclampf GLclampf alpha
 
void(* gf_curve)(int x, int y, int r, int direction, int resize_mode)
 
void(* gf_set_buffer)(int)
 
void(* gf_print_screen)(const char *filename)
 
void(* gf_render)(int nv, vertex *verts, uint flags)
 
void _cdecl gr_printf_menu(int x, int y, const char *format,...)
 
void gr_init_color(color *c, int r, int g, int b)
 
void(* gf_bitmap_ex)(int x, int y, int w, int h, int sx, int sy, int resize_mode)
 
void gr_bitmap(int x, int y, int resize_mode=GR_RESIZE_FULL)
 
int max_h_unscaled_zoomed
 
void gr_set_color(int r, int g, int b)
 
void(* gf_render_buffer)(int, const vertex_buffer *, int, int)
 
int(* gf_create_stream_buffer)()
 
int(* gf_tcache_set)(int bitmap_id, int bitmap_type, float *u_scale, float *v_scale, int stage)
 
void(* gf_update_buffer_object)(int handle, uint size, void *data)
 
void(* gf_modify_light)(light *, int, int)
 
void(* gf_gradient)(int x1, int y1, int x2, int y2, int resize_mode)