GATE
gl_apis.h File Reference

OpenGL API access layer. More...

Classes

struct  gate_gl_surface_events_class
 
struct  gate_gl_surface_class
 

Macros

#define GATE_GL_SURFACE_FLAG_SOFTWARE_RENDERING   1
 

Typedefs

typedef enum gate_gl_surface_type_enum gate_gl_surface_type_t
 
typedef struct gate_gl_surface_class gate_gl_surface_t
 
typedef struct gate_gl_surface_events_class gate_gl_surface_events_t
 
typedef enum gate_gl_api_shademodel_enum gate_gl_api_shademodel_t
 
typedef enum gate_gl_api_blend_enum gate_gl_api_blend_t
 
typedef enum gate_gl_api_capability_enum gate_gl_api_capability_t
 
typedef enum gate_gl_api_depth_enum gate_gl_api_depth_t
 
typedef enum gate_gl_api_hint_enum gate_gl_api_hint_t
 
typedef enum gate_gl_api_hintmode_enum gate_gl_api_hintmode_t
 
typedef enum gate_gl_api_matrixmode_enum gate_gl_api_matrixmode_t
 
typedef enum gate_gl_api_clearbit_enum gate_gl_api_clearbit_t
 
typedef enum gate_gl_api_clientstate_enum gate_gl_api_clientstate_t
 
typedef enum gate_gl_api_drawmode_enum gate_gl_api_drawmode_t
 
typedef enum gate_gl_api_pixelformat_enum gate_gl_api_pixelformat_t
 
typedef enum gate_gl_api_cullface_enum gate_gl_api_cullface_t
 

Enumerations

enum  gate_gl_surface_type_enum { gate_gl_surface_type_screen , gate_gl_surface_type_image , gate_gl_surface_type_external }
 
enum  gate_gl_api_shademodel_enum { gate_gl_api_shademodel_flat , gate_gl_api_shademodel_smooth }
 
enum  gate_gl_api_blend_enum {
  gate_gl_api_blend_zero , gate_gl_api_blend_one , gate_gl_api_blend_src_color , gate_gl_api_blend_one_minus_src_color ,
  gate_gl_api_blend_src_alpha , gate_gl_api_blend_one_minus_src_alpha , gate_gl_api_blend_dst_alpha , gate_gl_api_blend_one_minus_dst_alpha ,
  gate_gl_api_blend_dst_color , gate_gl_api_blend_one_minus_dst_color , gate_gl_api_blend_src_alpha_saturate
}
 
enum  gate_gl_api_capability_enum {
  gate_gl_api_capability_alpha_test , gate_gl_api_capability_auto_normal , gate_gl_api_capability_blend , gate_gl_api_capability_clip_plane ,
  gate_gl_api_capability_color_logic_op , gate_gl_api_capability_color_material , gate_gl_api_capability_cull_face , gate_gl_api_capability_depth_test ,
  gate_gl_api_capability_dither , gate_gl_api_capability_fog , gate_gl_api_capability_index_logic_op , gate_gl_api_capability_light ,
  gate_gl_api_capability_lighting , gate_gl_api_capability_line_smooth , gate_gl_api_capability_line_stipple , gate_gl_api_capability_logic_op ,
  gate_gl_api_capability_map1_color_4 , gate_gl_api_capability_map1_index , gate_gl_api_capability_map1_normal , gate_gl_api_capability_map1_texture_coord_1 ,
  gate_gl_api_capability_map1_texture_coord_2 , gate_gl_api_capability_map1_texture_coord_3 , gate_gl_api_capability_map1_texture_coord_4 , gate_gl_api_capability_map1_vertex_3 ,
  gate_gl_api_capability_map1_vertex_4 , gate_gl_api_capability_map2_color_4 , gate_gl_api_capability_map2_index , gate_gl_api_capability_map2_normal ,
  gate_gl_api_capability_map2_texture_coord_1 , gate_gl_api_capability_map2_texture_coord_2 , gate_gl_api_capability_map2_texture_coord_3 , gate_gl_api_capability_map2_texture_coord_4 ,
  gate_gl_api_capability_map2_vertex_3 , gate_gl_api_capability_map2_vertex_4 , gate_gl_api_capability_normalize , gate_gl_api_capability_point_smooth ,
  gate_gl_api_capability_polygon_offset_fill , gate_gl_api_capability_polygon_offset_line , gate_gl_api_capability_polygon_offset_point , gate_gl_api_capability_polygon_smooth ,
  gate_gl_api_capability_polygon_stipple , gate_gl_api_capability_scissor_test , gate_gl_api_capability_stencil_test , gate_gl_api_capability_texture_1d ,
  gate_gl_api_capability_texture_2d , gate_gl_api_capability_texture_gen_q , gate_gl_api_capability_texture_gen_r , gate_gl_api_capability_texture_gen_s ,
  gate_gl_api_capability_texture_gen_t
}
 
enum  gate_gl_api_depth_enum {
  gate_gl_api_depth_never , gate_gl_api_depth_less , gate_gl_api_depth_lequal , gate_gl_api_depth_equal ,
  gate_gl_api_depth_greater , gate_gl_api_depth_notequal , gate_gl_api_depth_gequal , gate_gl_api_depth_always
}
 
enum  gate_gl_api_hint_enum {
  gate_gl_api_hint_fog_hint , gate_gl_api_hint_line_smooth_hint , gate_gl_api_hint_perspective_correction_hint , gate_gl_api_hint_point_smooth_hint ,
  gate_gl_api_hint_polygon_smooth_hint
}
 
enum  gate_gl_api_hintmode_enum { gate_gl_api_hintmode_fastest , gate_gl_api_hintmode_nicest , gate_gl_api_hintmode_dont_care }
 
enum  gate_gl_api_matrixmode_enum { gate_gl_api_matrixmode_modelview , gate_gl_api_matrixmode_projection , gate_gl_api_matrixmode_texture }
 
enum  gate_gl_api_clearbit_enum { gate_gl_api_clearbit_color_buffer_bit = 0x01 , gate_gl_api_clearbit_depth_buffer_bit = 0x02 , gate_gl_api_clearbit_accum_buffer_bit = 0x04 , gate_gl_api_clearbit_stencil_buffer_bit = 0x08 }
 
enum  gate_gl_api_clientstate_enum {
  gate_gl_api_clientstate_color_array , gate_gl_api_clientstate_edge_flag_array , gate_gl_api_clientstate_index_array , gate_gl_api_clientstate_normal_array ,
  gate_gl_api_clientstate_texture_coord_array , gate_gl_api_clientstate_vertex_array
}
 
enum  gate_gl_api_drawmode_enum {
  gate_gl_api_drawmode_points , gate_gl_api_drawmode_line_strip , gate_gl_api_drawmode_line_loop , gate_gl_api_drawmode_lines ,
  gate_gl_api_drawmode_triangle_strip , gate_gl_api_drawmode_triangle_fan , gate_gl_api_drawmode_triangles , gate_gl_api_drawmode_quad_strip ,
  gate_gl_api_drawmode_quads , gate_gl_api_drawmode_polygon
}
 
enum  gate_gl_api_pixelformat_enum {
  gate_gl_api_pixelformat_color_index , gate_gl_api_pixelformat_stencil_index , gate_gl_api_pixelformat_depth_component , gate_gl_api_pixelformat_red ,
  gate_gl_api_pixelformat_green , gate_gl_api_pixelformat_blue , gate_gl_api_pixelformat_alpha , gate_gl_api_pixelformat_rgb ,
  gate_gl_api_pixelformat_rgba , gate_gl_api_pixelformat_luminance , gate_gl_api_pixelformat_luminance_alpha
}
 
enum  gate_gl_api_cullface_enum { gate_gl_api_cullface_front , gate_gl_api_cullface_back , gate_gl_api_cullface_front_and_back }
 

Functions

GATE_GRAPHICS_API gate_result_t gate_gl_surface_init (gate_gl_surface_t *surface)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_uninit (gate_gl_surface_t *surface)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_open (gate_gl_surface_t *surface, gate_gl_surface_type_t type, gate_uint32_t width, gate_uint32_t height, gate_uint32_t flags)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_close (gate_gl_surface_t *surface)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_resize (gate_gl_surface_t *surface, gate_uint32_t width, gate_uint32_t height)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_get_size (gate_gl_surface_t *surface, gate_uint32_t *width, gate_uint32_t *height)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_print_image (gate_gl_surface_t *surface, gate_rasterimage_t *target_image)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_run_event_loop (gate_gl_surface_t *surface, gate_gl_surface_events_t *event_callbacks, void *user_param)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_exit_event_loop (gate_gl_surface_t *surface)
 
GATE_GRAPHICS_API gate_result_t gate_gl_surface_swap_buffers (gate_gl_surface_t *surface)
 
GATE_GRAPHICS_API gate_result_t gate_gl_api_init ()
 
GATE_GRAPHICS_API void gate_gl_api_color3 (gate_real32_t r, gate_real32_t g, gate_real32_t b)
 
GATE_GRAPHICS_API void gate_gl_api_color4 (gate_real32_t r, gate_real32_t g, gate_real32_t b, gate_real32_t a)
 
GATE_GRAPHICS_API void gate_gl_api_color3b (gate_uint8_t r, gate_uint8_t g, gate_uint8_t b)
 
GATE_GRAPHICS_API void gate_gl_api_color4b (gate_uint8_t r, gate_uint8_t g, gate_uint8_t b, gate_uint8_t a)
 
GATE_GRAPHICS_API void gate_gl_api_vertexpointer (gate_size_t coord_count, gate_real32_t const *ptr_coords)
 
GATE_GRAPHICS_API void gate_gl_api_texcoordpointer (gate_size_t coord_count, gate_real32_t const *ptr_coords)
 
GATE_GRAPHICS_API void gate_gl_api_shademodel (gate_gl_api_shademodel_t model)
 
GATE_GRAPHICS_API void gate_gl_api_blendfunc (gate_gl_api_blend_t blend_func_src, gate_gl_api_blend_t blend_func_dst)
 
GATE_GRAPHICS_API void gate_gl_api_clearcolor (gate_real32_t r, gate_real32_t g, gate_real32_t b, gate_real32_t a)
 
GATE_GRAPHICS_API void gate_gl_api_cleardepth (gate_real32_t depth)
 
GATE_GRAPHICS_API void gate_gl_api_enable (gate_gl_api_capability_t capability)
 
GATE_GRAPHICS_API void gate_gl_api_disable (gate_gl_api_capability_t capability)
 
GATE_GRAPHICS_API void gate_gl_api_depthfunc (gate_gl_api_depth_t depth_function)
 
GATE_GRAPHICS_API void gate_gl_api_depthmask (gate_bool_t enabled)
 
GATE_GRAPHICS_API void gate_gl_api_hint (gate_gl_api_hint_t hint_type, gate_gl_api_hintmode_t hint_mode)
 
GATE_GRAPHICS_API void gate_gl_api_viewport (gate_int32_t x, gate_int32_t y, gate_int32_t width, gate_int32_t height)
 
GATE_GRAPHICS_API void gate_gl_api_matrixmode (gate_gl_api_matrixmode_t matrix_mode)
 
GATE_GRAPHICS_API void gate_gl_api_loadidentity ()
 
GATE_GRAPHICS_API void gate_gl_api_multmatrix (gate_real32_t const matrix[16])
 
GATE_GRAPHICS_API void gate_gl_api_translate (gate_real32_t x, gate_real32_t y, gate_real32_t z)
 
GATE_GRAPHICS_API void gate_gl_api_rotate (gate_real32_t angle, gate_real32_t x, gate_real32_t y, gate_real32_t z)
 
GATE_GRAPHICS_API void gate_gl_api_flush ()
 
GATE_GRAPHICS_API void gate_gl_api_finish ()
 
GATE_GRAPHICS_API void gate_gl_api_clear (unsigned clear_bits)
 
GATE_GRAPHICS_API void gate_gl_api_perspective (gate_real32_t fovy, gate_real32_t aspect, gate_real32_t znear, gate_real32_t zfar)
 
GATE_GRAPHICS_API void gate_gl_api_lookat (gate_real32_t eyeX, gate_real32_t eyeY, gate_real32_t eyeZ, gate_real32_t lookX, gate_real32_t lookY, gate_real32_t lookZ, gate_real32_t upX, gate_real32_t upY, gate_real32_t upZ)
 
GATE_GRAPHICS_API void gate_gl_api_ortho (gate_real32_t left, gate_real32_t right, gate_real32_t bottom, gate_real32_t top, gate_real32_t near_val, gate_real32_t far_val)
 
GATE_GRAPHICS_API void gate_gl_api_enableclientstate (gate_gl_api_clientstate_t state)
 
GATE_GRAPHICS_API void gate_gl_api_disableclientstate (gate_gl_api_clientstate_t state)
 
GATE_GRAPHICS_API void gate_gl_api_drawarrays (gate_gl_api_drawmode_t draw_mode, int index, size_t count)
 
GATE_GRAPHICS_API void * gate_gl_api_createtexture (gate_gl_api_pixelformat_t pixel_format, gate_uint32_t width, gate_uint32_t height, void const *data)
 
GATE_GRAPHICS_API void gate_gl_api_deletetexture (void *texture_id)
 
GATE_GRAPHICS_API void gate_gl_api_bindtexture (void *texture_id)
 
GATE_GRAPHICS_API void gate_gl_api_cullface (gate_gl_api_cullface_t mode)
 

Detailed Description

OpenGL API access layer.