Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
orrery::viz::GlFunctions Struct Reference

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

Detailed Description

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.


The documentation for this struct was generated from the following file: