diff options
| author | pryazha <pryadeiniv@mail.ru> | 2025-10-12 15:25:23 +0500 |
|---|---|---|
| committer | pryazha <pryadeiniv@mail.ru> | 2025-10-12 15:25:23 +0500 |
| commit | 818f818f583881156eb279c71b1359bf2c4f3580 (patch) | |
| tree | 874e8d2fdc5334bc70925aa87923791f7662ddb8 /gldefs.h | |
| parent | 3cf987880e384140bf996c37f820ddeea38bc60e (diff) | |
change identation, maybe will change back, add own gl functions loading, and glx example
Diffstat (limited to 'gldefs.h')
| -rw-r--r-- | gldefs.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gldefs.h b/gldefs.h new file mode 100644 index 0000000..2ed881b --- /dev/null +++ b/gldefs.h @@ -0,0 +1,57 @@ +#ifndef gldefs_h +#define gldefs_h + +#include "types.h" + +#define gl_float 0x1406 + +#define gl_color_buffer_bit 0x00004000 + +#define gl_vertex_shader 0x8B31 +#define gl_fragment_shader 0x8B30 +#define gl_compile_status 0x8B81 +#define gl_link_status 0x8B82 + +#define gl_array_buffer 0x8892 +#define gl_element_array_buffer 0x8893 + +#define gl_static_draw 0x88E4 +#define gl_triangles 0x0004 + +void (*gl_clear_color)(f32 red, f32 green, f32 blue, f32 alpha) = 0; +void (*gl_clear)(u32 mask) = 0; + +void (*gl_viewport)(i32 x, i32 y, i32 width, i32 height) = 0; + +void (*gl_gen_vertex_arrays)(i32 n, u32 *arrays) = 0; +void (*gl_delete_vertex_arrays)(i32 n, const u32 *arrays) = 0; +void (*gl_bind_vertex_array)(u32 array) = 0; +void (*gl_enable_vertex_attrib_array)(u32 index) = 0; +void (*gl_disable_vertex_attrib_array)(u32 index) = 0; +void (*gl_vertex_attrib_pointer)(u32 index, i32 size, u32 type, u8 normalized, i32 stride, const void *pointer) = 0; + +void (*gl_gen_buffers)(i32 n, u32 *buffers) = 0; +void (*gl_delete_buffers)(i32 n, const u32 *buffers) = 0; +void (*gl_bind_buffer)(u32 target, u32 buffer) = 0; +void (*gl_buffer_data)(u32 target, i64 size, const void *data, u32 usage) = 0; + +u32 (*gl_create_shader)(u32 type) = 0; +void (*gl_delete_shader)(u32 shader) = 0; +void (*gl_shader_source)(u32 shader, i32 count, const char *const *string, const i32 *length) = 0; +void (*gl_compile_shader)(u32 shader) = 0; +void (*gl_get_shader_iv)(u32 shader, u32 pname, i32 *params) = 0; +void (*gl_get_shader_info_log)(u32 shader, i32 buffer_size, i32 *length, char *log) = 0; + +u32 (*gl_create_program)(void) = 0; +void (*gl_attach_shader)(u32 program, u32 shader) = 0; +void (*gl_link_program)(u32 program) = 0; +void (*gl_use_program)(u32 program) = 0; + +i32 (*gl_get_uniform_location)(u32 program, const char *name) = 0; +void (*gl_uniform_matrix4fv)(i32 location, i32 count, u8 transpose, const f32 *value) = 0; +void (*gl_get_program_iv)(u32 program, u32 pname, i32 *params) = 0; +void (*gl_get_program_info_log)(u32 program, i32 buffer_size, i32 *length, char *log) = 0; + +void (*gl_draw_arrays)(u32 mode, i32 first, i32 count) = 0; + +#endif |
