|
Orrery
A GPU-accelerated N-body gravitational simulator
|
The entry points, as the pointers the driver returns. More...
#include <orrery/viz/gl_api.hpp>
Public Attributes | |
| void(* | viewport )(GlInt, GlInt, GlSizei, GlSizei) = nullptr |
| void(* | clear_colour )(GlFloat, GlFloat, GlFloat, GlFloat) = nullptr |
| void(* | clear )(GlBitfield) = nullptr |
| void(* | enable )(GlEnum) = nullptr |
| void(* | disable )(GlEnum) = nullptr |
| void(* | blend_func )(GlEnum, GlEnum) = nullptr |
| void(* | draw_arrays )(GlEnum, GlInt, GlSizei) = nullptr |
| void(* | read_pixels )(GlInt, GlInt, GlSizei, GlSizei, GlEnum, GlEnum, void *) = nullptr |
| GlEnum(* | get_error )() = nullptr |
| const GlUbyte *(* | get_string )(GlEnum) = nullptr |
| void(* | gen_vertex_arrays )(GlSizei, GlUint *) = nullptr |
| void(* | bind_vertex_array )(GlUint) = nullptr |
| void(* | delete_vertex_arrays )(GlSizei, const GlUint *) = nullptr |
| void(* | gen_buffers )(GlSizei, GlUint *) = nullptr |
| void(* | bind_buffer )(GlEnum, GlUint) = nullptr |
| void(* | buffer_data )(GlEnum, GlSizeiptr, const void *, GlEnum) = nullptr |
| void(* | buffer_sub_data )(GlEnum, GlIntptr, GlSizeiptr, const void *) = nullptr |
| void(* | delete_buffers )(GlSizei, const GlUint *) = nullptr |
| void(* | enable_vertex_attrib_array )(GlUint) = nullptr |
| void(* | vertex_attrib_pointer )(GlUint, GlInt, GlEnum, GlBoolean, GlSizei, const void *) = nullptr |
| GlUint(* | create_shader )(GlEnum) = nullptr |
| void(* | shader_source )(GlUint, GlSizei, const GlChar *const *, const GlInt *) = nullptr |
| void(* | compile_shader )(GlUint) = nullptr |
| void(* | get_shader_iv )(GlUint, GlEnum, GlInt *) = nullptr |
| void(* | get_shader_info_log )(GlUint, GlSizei, GlSizei *, GlChar *) = nullptr |
| void(* | delete_shader )(GlUint) = nullptr |
| GlUint(* | create_program )() = nullptr |
| void(* | attach_shader )(GlUint, GlUint) = nullptr |
| void(* | link_program )(GlUint) = nullptr |
| void(* | get_program_iv )(GlUint, GlEnum, GlInt *) = nullptr |
| void(* | get_program_info_log )(GlUint, GlSizei, GlSizei *, GlChar *) = nullptr |
| void(* | use_program )(GlUint) = nullptr |
| void(* | delete_program )(GlUint) = nullptr |
| GlInt(* | get_uniform_location )(GlUint, const GlChar *) = nullptr |
| void(* | uniform_matrix4fv )(GlInt, GlSizei, GlBoolean, const GlFloat *) = nullptr |
| void(* | uniform1f )(GlInt, GlFloat) = nullptr |
| void(* | uniform1i )(GlInt, GlInt) = nullptr |
| void(* | uniform3f )(GlInt, GlFloat, GlFloat, GlFloat) = nullptr |
| void(* | gen_textures )(GlSizei, GlUint *) = nullptr |
| void(* | bind_texture )(GlEnum, GlUint) = nullptr |
| void(* | active_texture )(GlEnum) = nullptr |
| void(* | tex_image_2d )(GlEnum, GlInt, GlInt, GlSizei, GlSizei, GlInt, GlEnum, GlEnum, const void *) = nullptr |
| void(* | tex_parameter_i )(GlEnum, GlEnum, GlInt) = nullptr |
| void(* | delete_textures )(GlSizei, const GlUint *) = nullptr |
| void(* | gen_framebuffers )(GlSizei, GlUint *) = nullptr |
| void(* | bind_framebuffer )(GlEnum, GlUint) = nullptr |
| void(* | framebuffer_texture_2d )(GlEnum, GlEnum, GlEnum, GlUint, GlInt) = nullptr |
| GlEnum(* | check_framebuffer_status )(GlEnum) = nullptr |
| void(* | delete_framebuffers )(GlSizei, const GlUint *) = nullptr |
The entry points, as the pointers the driver returns.
A structure of members rather than a set of namespace-scope pointers, so that there is no mutable global state and so that a second context, should one ever be wanted, gets its own. The names drop the gl prefix and the camel case: gen_buffers rather than glGenBuffers, since the prefix exists to keep C identifiers apart in one flat namespace and this is neither C nor flat.