Loading [MathJax]/extensions/tex2jax.js
Tatooine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Namespaces | Classes | Concepts | Typedefs | Enumerations | Functions | Variables
tatooine::gl Namespace Reference

Namespaces

namespace  ansi
 
namespace  detail
 
namespace  glfw
 
namespace  tex
 

Classes

class  atomiccounterbuffer
 
struct  attr_offset
 
struct  attr_offset< num_attrs >
 
struct  attr_offset< num_attrs, FirstAttrib, RestAttribs... >
 
struct  BGR
 
struct  BGRA
 
class  buffer
 buffer base class for each of the OpenGL buffer types More...
 
class  buffer_iterator
 non-const buffer iterator More...
 
class  buffer_map
 
struct  button_listener
 
struct  button_pressed_event
 
struct  button_released_event
 
class  cbuffer_iterator
 const buffer iterator More...
 
class  computeshader
 
class  context
 
struct  cursor_moved_event
 
struct  Depth
 
class  fragmentshader
 
class  framebuffer
 
class  geometryshader
 
class  gl_error
 
class  gl_framebuffer_not_complete_error
 
struct  gl_type
 
struct  gl_type< bool >
 
struct  gl_type< gl_half >
 
struct  gl_type< GLbyte >
 
struct  gl_type< GLdouble >
 
struct  gl_type< GLfloat >
 
struct  gl_type< GLint >
 
struct  gl_type< GLshort >
 
struct  gl_type< GLubyte >
 
struct  gl_type< GLuint >
 
struct  gl_type< GLushort >
 
struct  GLSLVar
 
struct  head
 
struct  id_holder
 
struct  id_holder_default_param
 
struct  id_holder_default_param< GLint >
 
struct  id_holder_default_param< GLuint >
 
struct  imgui_api_backend
 
struct  imgui_render_backend
 
struct  imgui_shader
 
struct  include_tree
 
class  indexbuffer
 
class  indexeddata
 
struct  key_pressed_event
 
struct  key_released_event
 
struct  keyboard_listener
 
class  linked_list_texture
 
class  pixelunpackbuffer
 
struct  R
 
class  rbuffer_map_element
 Returned by buffer::operator[] const for reading single elements. More...
 
struct  resize_event
 
struct  RG
 
struct  RGB
 
struct  RGBA
 
class  rwbuffer_map_element
 Returned by buffer::operator[] for reading and writing single elements. More...
 
class  shader
 
struct  shadersource
 
class  shaderstage
 
class  shaderstageparser
 
class  shaderstoragebuffer
 
class  tesselationcontrolshader
 
class  tesselationevaluationshader
 
class  texture
 
struct  texture_format_qualifier_impl
 
struct  texture_format_qualifier_impl< float, R >
 
struct  texture_format_qualifier_impl< float, RG >
 
struct  texture_format_qualifier_impl< float, RGB >
 
struct  texture_format_qualifier_impl< float, RGBA >
 
struct  texture_format_qualifier_impl< std::uint8_t, RGBA >
 
struct  value_type
 
struct  value_type< std::array< T, N > >
 
struct  value_type< T >
 
struct  value_type< vec< T, N > >
 
class  vertexarray
 
class  vertexbuffer
 
class  vertexshader
 
class  wbuffer_map_element
 
struct  wheel_down_event
 
struct  wheel_up_event
 
class  window
 
struct  window_listener
 
struct  window_notifier
 

Concepts

concept  texture_component
 
concept  texture_value
 

Typedefs

template<GLsizei array_type, typename T >
using rbuffer_map = buffer_map< array_type, T, GL_MAP_READ_BIT >
 
template<GLsizei array_type, typename T >
using wbuffer_map = buffer_map< array_type, T, GL_MAP_WRITE_BIT >
 
template<GLsizei array_type, typename T >
using rwbuffer_map = buffer_map< array_type, T, GL_MAP_READ_BIT|GL_MAP_WRITE_BIT >
 
template<texture_value ValueType, texture_component Components>
using tex1 = texture< 1, ValueType, Components >
 
template<texture_value ValueType, texture_component Components>
using tex2 = texture< 2, ValueType, Components >
 
template<texture_value ValueType, texture_component Components>
using tex3 = texture< 3, ValueType, Components >
 
template<texture_value ValueType>
using tex1r = tex1< ValueType, R >
 
template<texture_value ValueType>
using tex1rg = tex1< ValueType, RG >
 
template<texture_value ValueType>
using tex1rgb = tex1< ValueType, RGB >
 
template<texture_value ValueType>
using tex1rgba = tex1< ValueType, RGBA >
 
template<texture_value ValueType>
using tex1bgr = tex1< ValueType, BGR >
 
template<texture_value ValueType>
using tex1bgra = tex1< ValueType, BGRA >
 
template<texture_value ValueType>
using tex2r = tex2< ValueType, R >
 
template<texture_value ValueType>
using tex2rg = tex2< ValueType, RG >
 
template<texture_value ValueType>
using tex2rgb = tex2< ValueType, RGB >
 
template<texture_value ValueType>
using tex2rgba = tex2< ValueType, RGBA >
 
template<texture_value ValueType>
using tex2bgr = tex2< ValueType, BGR >
 
template<texture_value ValueType>
using tex2bgra = tex2< ValueType, BGRA >
 
template<texture_value ValueType>
using tex2depth = tex2< ValueType, Depth >
 
template<texture_value ValueType>
using tex3r = tex3< ValueType, R >
 
template<texture_value ValueType>
using tex3rg = tex3< ValueType, RG >
 
template<texture_value ValueType>
using tex3rgb = tex3< ValueType, RGB >
 
template<texture_value ValueType>
using tex3rgba = tex3< ValueType, RGBA >
 
template<texture_value ValueType>
using tex3bgr = tex3< ValueType, BGR >
 
template<texture_value ValueType>
using tex3bgra = tex3< ValueType, BGRA >
 
using tex1r8ui = tex1r< GLubyte >
 
using tex1r16ui = tex1r< GLushort >
 
using tex1r32ui = tex1r< GLuint >
 
using tex1r8i = tex1r< GLbyte >
 
using tex1r16i = tex1r< GLshort >
 
using tex1r32i = tex1r< GLint >
 
using tex1r16f = tex1r< GLhalf >
 
using tex1r32f = tex1r< GLfloat >
 
using tex1rg8ui = tex1rg< GLubyte >
 
using tex1rg16ui = tex1rg< GLushort >
 
using tex1rg32ui = tex1rg< GLuint >
 
using tex1rg8i = tex1rg< GLbyte >
 
using tex1rg16i = tex1rg< GLshort >
 
using tex1rg32i = tex1rg< GLint >
 
using tex1rg16f = tex1rg< GLhalf >
 
using tex1rg32f = tex1rg< GLfloat >
 
using tex1rgb8ui = tex1rgb< GLubyte >
 
using tex1rgb16ui = tex1rgb< GLushort >
 
using tex1rgb32ui = tex1rgb< GLuint >
 
using tex1rgb8i = tex1rgb< GLbyte >
 
using tex1rgb16i = tex1rgb< GLshort >
 
using tex1rgb32i = tex1rgb< GLint >
 
using tex1rgb16f = tex1rgb< GLhalf >
 
using tex1rgb32f = tex1rgb< GLfloat >
 
using tex1rgba8ui = tex1rgba< GLubyte >
 
using tex1rgba16ui = tex1rgba< GLushort >
 
using tex1rgba32ui = tex1rgba< GLuint >
 
using tex1rgba8i = tex1rgba< GLbyte >
 
using tex1rgba16i = tex1rgba< GLshort >
 
using tex1rgba32i = tex1rgba< GLint >
 
using tex1rgba16f = tex1rgba< GLhalf >
 
using tex1rgba32f = tex1rgba< GLfloat >
 
using tex2r8ui = tex2r< GLubyte >
 
using tex2r16ui = tex2r< GLushort >
 
using tex2r32ui = tex2r< GLuint >
 
using tex2r8i = tex2r< GLbyte >
 
using tex2r16i = tex2r< GLshort >
 
using tex2r32i = tex2r< GLint >
 
using tex2r16f = tex2r< GLhalf >
 
using tex2r32f = tex2r< GLfloat >
 
using tex2rg8ui = tex2rg< GLubyte >
 
using tex2rg16ui = tex2rg< GLushort >
 
using tex2rg32ui = tex2rg< GLuint >
 
using tex2rg8i = tex2rg< GLbyte >
 
using tex2rg16i = tex2rg< GLshort >
 
using tex2rg32i = tex2rg< GLint >
 
using tex2rg16f = tex2rg< GLhalf >
 
using tex2rg32f = tex2rg< GLfloat >
 
using tex2rgb8ui = tex2rgb< GLubyte >
 
using tex2rgb16ui = tex2rgb< GLushort >
 
using tex2rgb32ui = tex2rgb< GLuint >
 
using tex2rgb8i = tex2rgb< GLbyte >
 
using tex2rgb16i = tex2rgb< GLshort >
 
using tex2rgb32i = tex2rgb< GLint >
 
using tex2rgb16f = tex2rgb< GLhalf >
 
using tex2rgb32f = tex2rgb< GLfloat >
 
using tex2rgba8ui = tex2rgba< GLubyte >
 
using tex2rgba16ui = tex2rgba< GLushort >
 
using tex2rgba32ui = tex2rgba< GLuint >
 
using tex2rgba8i = tex2rgba< GLbyte >
 
using tex2rgba16i = tex2rgba< GLshort >
 
using tex2rgba32i = tex2rgba< GLint >
 
using tex2rgba16f = tex2rgba< GLhalf >
 
using tex2rgba32f = tex2rgba< GLfloat >
 
using texdepth16ui = tex2depth< GLushort >
 
using texdepth24ui = tex2depth< tex::depth24 >
 
using texdepth32ui = tex2depth< GLuint >
 
using texdepth32f = tex2depth< GLfloat >
 
template<typename... Ts>
using head_t = typename head< Ts... >::type
 

Enumerations

enum class  buffer_usage : GLenum {
  STREAM_DRAW = GL_STREAM_DRAW , STREAM_READ = GL_STREAM_READ , STREAM_COPY = GL_STREAM_COPY , STATIC_DRAW = GL_STATIC_DRAW ,
  STATIC_READ = GL_STATIC_READ , STATIC_COPY = GL_STATIC_COPY , DYNAMIC_DRAW = GL_DYNAMIC_DRAW , DYNAMIC_READ = GL_DYNAMIC_READ ,
  DYNAMIC_COPY = GL_DYNAMIC_COPY
}
 
enum class  key : std::uint8_t {
  KEY_0 , KEY_1 , KEY_2 , KEY_3 ,
  KEY_4 , KEY_5 , KEY_6 , KEY_7 ,
  KEY_8 , KEY_9 , KEY_F1 , KEY_F2 ,
  KEY_F3 , KEY_F4 , KEY_F5 , KEY_F6 ,
  KEY_F7 , KEY_F8 , KEY_F9 , KEY_F10 ,
  KEY_F11 , KEY_F12 , KEY_F13 , KEY_F14 ,
  KEY_F15 , KEY_F16 , KEY_F17 , KEY_F18 ,
  KEY_F19 , KEY_F20 , KEY_F21 , KEY_F22 ,
  KEY_F23 , KEY_F24 , KEY_F25 , KEY_F26 ,
  KEY_F27 , KEY_F28 , KEY_F29 , KEY_F30 ,
  KEY_F31 , KEY_F32 , KEY_F33 , KEY_F34 ,
  KEY_F35 , KEY_A , KEY_B , KEY_C ,
  KEY_D , KEY_E , KEY_F , KEY_G ,
  KEY_H , KEY_I , KEY_J , KEY_K ,
  KEY_L , KEY_M , KEY_N , KEY_O ,
  KEY_P , KEY_Q , KEY_R , KEY_S ,
  KEY_T , KEY_U , KEY_V , KEY_W ,
  KEY_X , KEY_Y , KEY_Z , KEY_BACKSPACE ,
  KEY_INSERT , KEY_HOME , KEY_PAGE_UP , KEY_PAGE_DOWN ,
  KEY_DELETE , KEY_END , KEY_TAB , KEY_ENTER ,
  KEY_KP_ENTER , KEY_SPACE , KEY_EXCLAM , KEY_QUOTEDBL ,
  KEY_NUMBERSIGN , KEY_DOLLAR , KEY_PERCENT , KEY_AMPERSAND ,
  KEY_APOSTROPHE , KEY_QUOTERIGHT , KEY_PARENLEFT , KEY_PARENRIGHT ,
  KEY_ASTERISK , KEY_PLUS , KEY_COMMA , KEY_DECIMALPOINT ,
  KEY_MINUS , KEY_LEFT , KEY_RIGHT , KEY_UP ,
  KEY_DOWN , KEY_ESCAPE , KEY_ALT_R , KEY_ALT_L ,
  KEY_SHIFT_R , KEY_SHIFT_L , KEY_CTRL_R , KEY_CTRL_L ,
  KEY_UNKNOWN
}
 
enum class  button {
  left , right , middle , wheel_up ,
  wheel_down , wheel_left , wheel_right , unknown
}
 
enum  Primitive {
  POINTS = GL_POINTS , LINE_STRIP = GL_LINE_STRIP , LINE_LOOP = GL_LINE_LOOP , LINES = GL_LINES ,
  LINE_STRIP_ADJACENCY = GL_LINE_STRIP_ADJACENCY , LINES_ADJACENCY = GL_LINES_ADJACENCY , TRIANGLE_STRIP = GL_TRIANGLE_STRIP , TRIANGLE_FAN = GL_TRIANGLE_FAN ,
  TRIANGLES = GL_TRIANGLES , TRIANGLE_STRIP_ADJACENCY = GL_TRIANGLE_STRIP_ADJACENCY , TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY , PATCHES = GL_PATCHES
}
 
enum class  wrap_mode : GLint { clamp_to_border = GL_CLAMP_TO_BORDER , clamp_to_edge = GL_CLAMP_TO_EDGE , repeat = GL_REPEAT , mirrored_repeat = GL_MIRRORED_REPEAT }
 
enum class  interpolation_mode : GLint {
  nearest = GL_NEAREST , linear = GL_LINEAR , nearest_mipmap_nearest = GL_NEAREST_MIPMAP_NEAREST , linear_mipmap_nearest = GL_LINEAR_MIPMAP_NEAREST ,
  nearest_mipmap_linear = GL_NEAREST_MIPMAP_LINEAR , linear_mipmap_linear = GL_LINEAR_MIPMAP_LINEAR
}
 
enum class  compare_func : GLint {
  never = GL_NEVER , less = GL_LESS , lequal = GL_LEQUAL , greater = GL_GREATER ,
  notequal = GL_NOTEQUAL , gequal = GL_GEQUAL , always = GL_ALWAYS
}
 
enum class  compare_mode : GLint { compare_r_to_texture = GL_COMPARE_R_TO_TEXTURE , none = GL_NONE }
 
enum  Type {
  UBYTE = GL_UNSIGNED_BYTE , BYTE = GL_BYTE , USHORT = GL_UNSIGNED_SHORT , SHORT = GL_SHORT ,
  UINT = GL_UNSIGNED_INT , INT = GL_INT , FLOAT = GL_FLOAT , UBYTE332 = GL_UNSIGNED_BYTE_3_3_2 ,
  UBYTE233REV = GL_UNSIGNED_BYTE_2_3_3_REV , USHORT565 = GL_UNSIGNED_SHORT_5_6_5 , USHORT565REV = GL_UNSIGNED_SHORT_5_6_5_REV , USHORT4444 = GL_UNSIGNED_SHORT_4_4_4_4 ,
  USHORT4444REV = GL_UNSIGNED_SHORT_4_4_4_4_REV , USHORT5551 = GL_UNSIGNED_SHORT_5_5_5_1 , USHORT1555REV = GL_UNSIGNED_SHORT_1_5_5_5_REV , UINT8888 = GL_UNSIGNED_INT_8_8_8_8 ,
  UINT8888REV = GL_UNSIGNED_INT_8_8_8_8_REV , UINT1010102 = GL_UNSIGNED_INT_10_10_10_2 , UINT2101010REV = GL_UNSIGNED_INT_2_10_10_10_REV
}
 

Functions

template<GLsizei ArrayType, typename T , GLbitfield Access>
auto begin (buffer_map< ArrayType, T, Access > &map)
 
template<GLsizei ArrayType, typename T , GLbitfield Access>
auto begin (buffer_map< ArrayType, T, Access > const &map)
 
template<GLsizei ArrayType, typename T , GLbitfield Access>
auto end (buffer_map< ArrayType, T, Access > &map)
 
template<GLsizei ArrayType, typename T , GLbitfield Access>
auto end (buffer_map< ArrayType, T, Access > const &map)
 
template<GLsizei array_type, typename T >
auto operator<< (std::ostream &out, rbuffer_map_element< array_type, T > &data) -> auto &
 
template<GLsizei array_type, typename T >
auto operator<< (std::ostream &out, rwbuffer_map_element< array_type, T > &data) -> auto &
 
DLL_API auto gl_error_to_string (GLenum err) -> std::string
 
DLL_API auto gl_framebuffer_error_to_string (GLenum status) -> std::string
 
DLL_API auto gl_error_check (std::string_view function) -> void
 
DLL_API auto gl_framebuffer_not_complete_check (GLuint fbo_id) -> void
 
DLL_API auto polygon_mode (GLenum face, GLenum mode) -> void
 
DLL_API auto cull_face (GLenum mode) -> void
 
DLL_API auto front_face (GLenum mode) -> void
 
DLL_API auto point_size (GLfloat size) -> void
 
DLL_API auto line_width (GLfloat width) -> void
 
DLL_API auto get_boolean_v (GLenum pname, GLboolean *params) -> void
 
DLL_API auto get_double_v (GLenum pname, GLdouble *params) -> void
 
DLL_API auto get_float_v (GLenum pname, GLfloat *params) -> void
 
DLL_API auto get_integer_v (GLenum pname, GLint *params) -> void
 
DLL_API auto get_integer64_v (GLenum pname, GLint64 *params) -> void
 
DLL_API auto get_booleani_v (GLenum target, GLuint index, GLboolean *data) -> void
 
DLL_API auto get_integeri_v (GLenum target, GLuint index, GLint *data) -> void
 
DLL_API auto get_floati_v (GLenum target, GLuint index, GLfloat *data) -> void
 
DLL_API auto get_doublei_v (GLenum target, GLuint index, GLdouble *data) -> void
 
DLL_API auto get_integer64i_v (GLenum target, GLuint index, GLint64 *data) -> void
 
DLL_API auto enable (GLenum cap) -> void
 
DLL_API auto is_enabled (GLenum cap) -> GLboolean
 
DLL_API auto disable (GLenum cap) -> void
 
DLL_API auto get_string (GLenum name) -> const GLubyte *
 
DLL_API auto get_error () -> GLenum
 
DLL_API auto depth_func (GLenum func) -> void
 
DLL_API auto scissor (GLint x, GLint y, GLsizei width, GLsizei height) -> void
 
DLL_API auto clear (GLbitfield mask) -> void
 
DLL_API auto clear_color (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) -> void
 
DLL_API auto viewport (GLint x, GLint y, GLsizei width, GLsizei height) -> void
 
DLL_API auto viewport (camera const &cam) -> void
 
DLL_API auto flush () -> void
 
DLL_API auto depth_mask (GLboolean flag) -> void
 
DLL_API auto blend_func (GLenum sfactor, GLenum dfactor) -> void
 
DLL_API auto blend_func_i (GLuint buf, GLenum sfactor, GLenum dfactor) -> void
 
DLL_API auto blend_func_separate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) -> void
 
DLL_API auto blend_func_separate_i (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) -> void
 
DLL_API auto blend_equation (GLenum mode) -> void
 
DLL_API auto blend_equation_i (GLuint buf, GLenum mode) -> void
 
DLL_API auto blend_equation_separate (GLenum modeRGB, GLenum modeAlpha) -> void
 
DLL_API auto blend_equation_separate_i (GLuint buf, GLenum modeRGB, GLenum modeAlpha) -> void
 
DLL_API auto enable_vertex_attrib_array (GLuint index) -> void
 
DLL_API auto disable_vertex_attrib_array (GLuint index) -> void
 
DLL_API auto enable_vertex_attrib_array (GLuint vaobj, GLuint index) -> void
 
DLL_API auto vertex_attrib_pointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) -> void
 
DLL_API auto vertex_attrib_i_pointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) -> void
 
DLL_API auto vertex_attrib_l_pointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) -> void
 
DLL_API auto draw_arrays (GLenum mode, GLint first, GLsizei count) -> void
 
DLL_API auto create_vertex_arrays (GLsizei n, GLuint *arrays) -> void
 
DLL_API auto delete_vertex_arrays (GLsizei n, GLuint *arrays) -> void
 
DLL_API auto bind_vertex_array (GLuint array) -> void
 
DLL_API auto draw_elements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) -> void
 
DLL_API auto buffer_data (GLenum target, GLsizeiptr size, const void *data, GLenum usage) -> void
 
DLL_API auto named_buffer_data (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) -> void
 
DLL_API auto bind_buffer (GLenum target, GLuint buffer) -> void
 
DLL_API auto bind_buffer_base (GLenum target, GLuint index, GLuint buffer) -> void
 
DLL_API auto create_buffers (GLsizei n, GLuint *buffers) -> void
 
DLL_API auto delete_buffers (GLsizei n, GLuint *buffers) -> void
 
DLL_API auto copy_named_buffer_sub_data (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) -> void
 
DLL_API auto map_buffer (GLenum target, GLenum access) -> void *
 
DLL_API auto map_named_buffer (GLuint buffer, GLenum access) -> void *
 
DLL_API auto map_buffer_range (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) -> void *
 
DLL_API auto map_named_buffer_range (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) -> void *
 
template<typename T >
auto named_buffer_data (GLuint buffer, GLsizei size, const T *data, GLenum usage) -> void
 
DLL_API auto unmap_buffer (GLenum target) -> GLboolean
 
DLL_API auto unmap_named_buffer (GLuint buffer) -> GLboolean
 
DLL_API auto buffer_sub_data (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) -> void
 
DLL_API auto named_buffer_sub_data (GLuint buffer, GLintptr offset, GLsizei size, const void *data) -> void
 
DLL_API auto get_buffer_parameter_iv (GLenum target, GLenum value, GLint *data) -> void
 
DLL_API auto clear_named_buffer_data (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data) -> void
 
DLL_API auto create_program () -> GLuint
 
DLL_API auto attach_shader (GLuint program, GLuint shader) -> void
 
DLL_API auto link_program (GLuint program) -> void
 
DLL_API auto delete_program (GLuint program) -> void
 
DLL_API auto use_program (GLuint program) -> void
 
DLL_API auto create_shader (GLenum shaderType) -> GLuint
 
DLL_API auto shader_source (GLuint shader, GLsizei count, const GLchar **string, const GLint *length) -> void
 
DLL_API auto compile_shader (GLuint shader) -> void
 
DLL_API auto delete_shader (GLuint shader) -> void
 
DLL_API auto dispatch_compute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) -> void
 
DLL_API auto get_shader_iv (GLuint shader, GLenum pname, GLint *params) -> void
 
DLL_API auto get_shader_info_log_length (GLuint shader) -> GLint
 
DLL_API auto get_shader_info_log (GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog) -> void
 
DLL_API auto get_shader_info_log (GLuint shader, GLsizei maxLength) -> std::string
 
DLL_API auto get_shader_info_log (GLuint shader) -> std::string
 
DLL_API auto program_uniform_1f (GLuint program, GLint location, GLfloat v0) -> void
 
DLL_API auto program_uniform_2f (GLuint program, GLint location, GLfloat v0, GLfloat v1) -> void
 
DLL_API auto program_uniform_3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) -> void
 
DLL_API auto program_uniform_4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) -> void
 
DLL_API auto program_uniform_1i (GLuint program, GLint location, GLint v0) -> void
 
DLL_API auto program_uniform_2i (GLuint program, GLint location, GLint v0, GLint v1) -> void
 
DLL_API auto program_uniform_3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2) -> void
 
DLL_API auto program_uniform_4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) -> void
 
DLL_API auto program_uniform_1ui (GLuint program, GLint location, GLuint v0) -> void
 
DLL_API auto program_uniform_2ui (GLuint program, GLint location, GLuint v0, GLuint v1) -> void
 
DLL_API auto program_uniform_3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) -> void
 
DLL_API auto program_uniform_4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) -> void
 
DLL_API auto program_uniform_1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) -> void
 
DLL_API auto program_uniform_2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) -> void
 
DLL_API auto program_uniform_3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) -> void
 
DLL_API auto program_uniform_4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) -> void
 
DLL_API auto program_uniform_1iv (GLuint program, GLint location, GLsizei count, const GLint *value) -> void
 
DLL_API auto program_uniform_2iv (GLuint program, GLint location, GLsizei count, const GLint *value) -> void
 
DLL_API auto program_uniform_3iv (GLuint program, GLint location, GLsizei count, const GLint *value) -> void
 
DLL_API auto program_uniform_4iv (GLuint program, GLint location, GLsizei count, const GLint *value) -> void
 
DLL_API auto program_uniform_1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) -> void
 
DLL_API auto program_uniform_2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) -> void
 
DLL_API auto program_uniform_3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) -> void
 
DLL_API auto program_uniform_4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) -> void
 
DLL_API auto program_uniform_matrix_2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto program_uniform_matrix_4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) -> void
 
DLL_API auto get_program_iv (GLuint program, GLenum pname, GLint *params) -> void
 
DLL_API auto get_program_info_log (GLuint program, GLsizei maxLength, GLsizei *length, GLchar *infoLog) -> void
 
DLL_API auto get_uniform_location (GLuint program, const GLchar *name) -> GLint
 
DLL_API auto create_textures (GLenum target, GLsizei n, GLuint *textures) -> void
 
DLL_API auto delete_textures (GLsizei n, GLuint *textures) -> void
 
DLL_API auto active_texture (GLenum texture) -> void
 
DLL_API auto bind_texture (GLenum target, GLuint texture) -> void
 
DLL_API auto bind_image_texture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) -> void
 
DLL_API auto tex_image_1d (GLenum target, GLint level, GLint internal_format, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *data) -> void
 
DLL_API auto tex_image_2d (GLenum target, GLint level, GLint internal_format, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *data) -> void
 
DLL_API auto tex_sub_image_2d (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) -> void
 
DLL_API auto texture_sub_image_1d (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) -> void
 
DLL_API auto texture_sub_image_2d (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) -> void
 
DLL_API auto texture_sub_image_3d (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) -> void
 
DLL_API auto tex_image_3d (GLenum target, GLint level, GLint internal_format, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *data) -> void
 
DLL_API auto copy_image_sub_data (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) -> void
 
DLL_API auto get_tex_image (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) -> void
 
DLL_API auto get_n_tex_image (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) -> void
 
DLL_API auto get_texture_image (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) -> void
 
DLL_API auto get_texture_sub_image (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels) -> void
 
DLL_API auto tex_parameter_f (GLenum target, GLenum pname, GLfloat param) -> void
 
DLL_API auto tex_parameter_i (GLenum target, GLenum pname, GLint param) -> void
 
DLL_API auto texture_parameter_f (GLuint texture, GLenum pname, GLfloat param) -> void
 
DLL_API auto texture_parameter_i (GLuint texture, GLenum pname, GLint param) -> void
 
DLL_API auto tex_parameter_fv (GLenum target, GLenum pname, const GLfloat *params) -> void
 
DLL_API auto tex_parameter_iv (GLenum target, GLenum pname, const GLint *params) -> void
 
DLL_API auto tex_parameter_Iiv (GLenum target, GLenum pname, const GLint *params) -> void
 
DLL_API auto tex_parameter_Iuiv (GLenum target, GLenum pname, const GLuint *params) -> void
 
DLL_API auto texture_parameter_fv (GLuint texture, GLenum pname, const GLfloat *paramtexture) -> void
 
DLL_API auto texture_parameter_iv (GLuint texture, GLenum pname, const GLint *param) -> void
 
DLL_API auto texture_parameter_Iiv (GLuint texture, GLenum pname, const GLint *param) -> void
 
DLL_API auto texture_parameter_Iuiv (GLuint texture, GLenum pname, const GLuint *param) -> void
 
DLL_API auto clear_tex_image (GLuint texture, GLint level, GLenum format, GLenum type, const void *data) -> void
 
DLL_API auto is_texture (GLuint texture) -> GLboolean
 
DLL_API auto bind_sampler (GLuint unit, GLuint sampler) -> void
 
DLL_API auto create_framebuffers (GLsizei n, GLuint *ids) -> void
 
DLL_API auto delete_framebuffers (GLsizei n, GLuint *ids) -> void
 
DLL_API auto bind_framebuffer (GLenum target, GLuint framebuffer) -> void
 
DLL_API auto framebuffer_texture (GLenum target, GLenum attachment, GLuint texture, GLint level) -> void
 
DLL_API auto framebuffer_texture_1d (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) -> void
 
DLL_API auto framebuffer_texture_2d (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) -> void
 
DLL_API auto framebuffer_texture_3d (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer) -> void
 
DLL_API auto named_framebuffer_texture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) -> void
 
DLL_API auto check_named_framebuffer_status (GLuint framebuffer, GLenum target) -> GLenum
 
DLL_API auto named_framebuffer_draw_buffers (GLuint framebuffer, GLsizei n, const GLenum *bufs) -> void
 
DLL_API auto memory_barrier (GLbitfield barriers) -> void
 
auto convert_key (int key)
 
DLL_API auto clear_color_buffer () -> void
 
DLL_API auto clear_depth_buffer () -> void
 
DLL_API auto clear_color_depth_buffer () -> void
 
DLL_API auto enable_depth_test () -> void
 
DLL_API auto disable_depth_test () -> void
 
DLL_API auto depth_test_enabled () -> GLboolean
 
DLL_API auto enable_depth_write () -> void
 
DLL_API auto disable_depth_write () -> void
 
DLL_API auto depth_func_never () -> void
 
DLL_API auto depth_func_less () -> void
 
DLL_API auto depth_func_equal () -> void
 
DLL_API auto depth_func_lequal () -> void
 
DLL_API auto depth_func_greater () -> void
 
DLL_API auto depth_func_notequal () -> void
 
DLL_API auto depth_func_gequal () -> void
 
DLL_API auto depth_func_always () -> void
 
DLL_API auto enable_multisampling () -> void
 
DLL_API auto disable_multisampling () -> void
 
DLL_API auto multisampling_enabled () -> bool
 
DLL_API auto enable_blending () -> void
 
DLL_API auto disable_blending () -> void
 
DLL_API auto enable_scissor_test () -> void
 
DLL_API auto disable_scissor_test () -> void
 
DLL_API auto enable_face_culling () -> void
 
DLL_API auto disable_face_culling () -> void
 
DLL_API auto set_front_face_culling () -> void
 
DLL_API auto set_back_face_culling () -> void
 
DLL_API auto face_culling_enabled () -> GLboolean
 
DLL_API auto blending_enabled () -> GLboolean
 
DLL_API auto blend_func_additive () -> void
 
DLL_API auto blend_func_multiplicative () -> void
 
DLL_API auto blend_func_subtractive () -> void
 
DLL_API auto blend_func_alpha () -> void
 
DLL_API auto get_total_available_memory () -> GLint
 
DLL_API auto get_current_available_memory () -> GLint
 
DLL_API auto scissor_test_enabled () -> GLboolean
 
DLL_API auto current_scissor_box () -> std::array< GLint, 4 >
 
DLL_API auto current_blend_src_rgb () -> GLenum
 
DLL_API auto current_blend_dst_rgb () -> GLenum
 
DLL_API auto current_blend_src_alpha () -> GLenum
 
DLL_API auto current_blend_dst_alpha () -> GLenum
 
DLL_API auto current_blend_equation_rgb () -> GLenum
 
DLL_API auto current_blend_equation_alpha () -> GLenum
 
DLL_API auto current_active_texture () -> GLenum
 
DLL_API auto current_clip_origin () -> GLenum
 
DLL_API auto current_polygon_mode () -> std::array< GLenum, 2 >
 
DLL_API auto current_viewport () -> std::array< GLint, 4 >
 
DLL_API auto bound_sampler () -> GLuint
 
DLL_API auto bound_program () -> GLuint
 
DLL_API auto bound_vertexbuffer () -> GLuint
 
DLL_API auto bound_vertexarray () -> GLuint
 
DLL_API auto bound_texture (GLenum binding) -> GLuint
 
DLL_API auto bound_texture1d () -> GLuint
 
DLL_API auto bound_texture2d () -> GLuint
 
DLL_API auto bound_texture3d () -> GLuint
 
DLL_API auto max_texture_image_units () -> GLuint
 
DLL_API auto max_compute_shared_memory_size () -> GLint
 
DLL_API auto barrier () -> void
 
DLL_API auto shader_storage_barrier () -> void
 
DLL_API auto shader_image_access_barrier () -> void
 
DLL_API auto atomic_counter_barrier () -> void
 
DLL_API auto max_compute_work_group_count () -> std::array< GLint, 3 >
 
DLL_API auto max_compute_work_group_size () -> std::array< GLint, 3 >
 
DLL_API auto max_compute_work_group_invocations () -> GLint
 
DLL_API auto max_compute_image_uniforms () -> GLint
 
DLL_API auto opengl_version () -> std::pair< GLint, GLint >
 
template<typename ID >
void swap (id_holder< ID > &i0, id_holder< ID > &i1)
 
auto to_string (key const k) -> std::string
 
auto to_string (button b) -> std::string
 
template<either_of< R, RG, RGBA > Components>
auto to_2d (tex1< float, Components > const &t1, std::size_t const height, std::size_t const local_size_x=32, std::size_t const local_size_y=32)
 
auto texparami_to_string (GLint i) -> std::string
 
auto to_string (GLenum e) -> std::string
 
auto map_access_to_string (GLbitfield b) -> std::string
 
template<typename F , typename... Ts>
void for_each (F &&f, Ts &&... ts)
 Applies function F to all elements of parameter pack ts. More...
 
template<typename T >
 resize_event (T &&) -> resize_event< T >
 
template<typename T >
 resize_event (T const &) -> resize_event< T const & >
 
template<typename T >
 key_pressed_event (T &&) -> key_pressed_event< T >
 
template<typename T >
 key_pressed_event (T const &) -> key_pressed_event< T const & >
 
template<typename T >
 key_released_event (T &&) -> key_released_event< T >
 
template<typename T >
 key_released_event (T const &) -> key_released_event< T const & >
 
template<typename T >
 button_pressed_event (T &&) -> button_pressed_event< T >
 
template<typename T >
 button_pressed_event (T const &) -> button_pressed_event< T const & >
 
template<typename T >
 button_released_event (T &&) -> button_released_event< T >
 
template<typename T >
 button_released_event (T const &) -> button_released_event< T const & >
 
template<typename T >
 wheel_up_event (T &&) -> wheel_up_event< T >
 
template<typename T >
 wheel_up_event (T const &) -> wheel_up_event< T const & >
 
template<typename T >
 wheel_down_event (T &&) -> wheel_down_event< T >
 
template<typename T >
 wheel_down_event (T const &) -> wheel_down_event< T const & >
 
template<typename T >
 cursor_moved_event (T &&) -> cursor_moved_event< T >
 
template<typename T >
 cursor_moved_event (T const &) -> cursor_moved_event< T const & >
 

Variables

static bool verbose = TATOOINE_GL_VERBOSE
 
static std::ostream & verbose_ostream = std::cerr
 
template<typename T >
static constexpr auto gl_type_v = gl_type<T>::value
 
template<typename ID >
static constexpr auto id_holder_default_param_v
 
template<typename T >
static auto constexpr texture_depth_component = either_of<T, Depth>
 
template<typename T >
static auto constexpr texture_color_component
 
template<texture_value ValueType, texture_component Components>
static auto constexpr texture_format_qualifier
 
template<typename T >
static constexpr auto value_type_v = value_type<T>::value
 

Typedef Documentation

◆ head_t

template<typename... Ts>
using tatooine::gl::head_t = typedef typename head<Ts...>::type

◆ rbuffer_map

template<GLsizei array_type, typename T >
using tatooine::gl::rbuffer_map = typedef buffer_map<array_type, T, GL_MAP_READ_BIT>

◆ rwbuffer_map

template<GLsizei array_type, typename T >
using tatooine::gl::rwbuffer_map = typedef buffer_map<array_type, T, GL_MAP_READ_BIT | GL_MAP_WRITE_BIT>

◆ tex1

template<texture_value ValueType, texture_component Components>
using tatooine::gl::tex1 = typedef texture<1, ValueType, Components>

◆ tex1bgr

template<texture_value ValueType>
using tatooine::gl::tex1bgr = typedef tex1<ValueType, BGR>

◆ tex1bgra

template<texture_value ValueType>
using tatooine::gl::tex1bgra = typedef tex1<ValueType, BGRA>

◆ tex1r

template<texture_value ValueType>
using tatooine::gl::tex1r = typedef tex1<ValueType, R>

◆ tex1r16f

using tatooine::gl::tex1r16f = typedef tex1r<GLhalf>

◆ tex1r16i

using tatooine::gl::tex1r16i = typedef tex1r<GLshort>

◆ tex1r16ui

using tatooine::gl::tex1r16ui = typedef tex1r<GLushort>

◆ tex1r32f

using tatooine::gl::tex1r32f = typedef tex1r<GLfloat>

◆ tex1r32i

using tatooine::gl::tex1r32i = typedef tex1r<GLint>

◆ tex1r32ui

◆ tex1r8i

using tatooine::gl::tex1r8i = typedef tex1r<GLbyte>

◆ tex1r8ui

using tatooine::gl::tex1r8ui = typedef tex1r<GLubyte>

◆ tex1rg

template<texture_value ValueType>
using tatooine::gl::tex1rg = typedef tex1<ValueType, RG>

◆ tex1rg16f

using tatooine::gl::tex1rg16f = typedef tex1rg<GLhalf>

◆ tex1rg16i

using tatooine::gl::tex1rg16i = typedef tex1rg<GLshort>

◆ tex1rg16ui

using tatooine::gl::tex1rg16ui = typedef tex1rg<GLushort>

◆ tex1rg32f

using tatooine::gl::tex1rg32f = typedef tex1rg<GLfloat>

◆ tex1rg32i

using tatooine::gl::tex1rg32i = typedef tex1rg<GLint>

◆ tex1rg32ui

◆ tex1rg8i

using tatooine::gl::tex1rg8i = typedef tex1rg<GLbyte>

◆ tex1rg8ui

using tatooine::gl::tex1rg8ui = typedef tex1rg<GLubyte>

◆ tex1rgb

template<texture_value ValueType>
using tatooine::gl::tex1rgb = typedef tex1<ValueType, RGB>

◆ tex1rgb16f

using tatooine::gl::tex1rgb16f = typedef tex1rgb<GLhalf>

◆ tex1rgb16i

using tatooine::gl::tex1rgb16i = typedef tex1rgb<GLshort>

◆ tex1rgb16ui

using tatooine::gl::tex1rgb16ui = typedef tex1rgb<GLushort>

◆ tex1rgb32f

using tatooine::gl::tex1rgb32f = typedef tex1rgb<GLfloat>

◆ tex1rgb32i

using tatooine::gl::tex1rgb32i = typedef tex1rgb<GLint>

◆ tex1rgb32ui

◆ tex1rgb8i

using tatooine::gl::tex1rgb8i = typedef tex1rgb<GLbyte>

◆ tex1rgb8ui

using tatooine::gl::tex1rgb8ui = typedef tex1rgb<GLubyte>

◆ tex1rgba

template<texture_value ValueType>
using tatooine::gl::tex1rgba = typedef tex1<ValueType, RGBA>

◆ tex1rgba16f

using tatooine::gl::tex1rgba16f = typedef tex1rgba<GLhalf>

◆ tex1rgba16i

using tatooine::gl::tex1rgba16i = typedef tex1rgba<GLshort>

◆ tex1rgba16ui

using tatooine::gl::tex1rgba16ui = typedef tex1rgba<GLushort>

◆ tex1rgba32f

using tatooine::gl::tex1rgba32f = typedef tex1rgba<GLfloat>

◆ tex1rgba32i

using tatooine::gl::tex1rgba32i = typedef tex1rgba<GLint>

◆ tex1rgba32ui

◆ tex1rgba8i

using tatooine::gl::tex1rgba8i = typedef tex1rgba<GLbyte>

◆ tex1rgba8ui

using tatooine::gl::tex1rgba8ui = typedef tex1rgba<GLubyte>

◆ tex2

template<texture_value ValueType, texture_component Components>
using tatooine::gl::tex2 = typedef texture<2, ValueType, Components>

◆ tex2bgr

template<texture_value ValueType>
using tatooine::gl::tex2bgr = typedef tex2<ValueType, BGR>

◆ tex2bgra

template<texture_value ValueType>
using tatooine::gl::tex2bgra = typedef tex2<ValueType, BGRA>

◆ tex2depth

template<texture_value ValueType>
using tatooine::gl::tex2depth = typedef tex2<ValueType, Depth>

◆ tex2r

template<texture_value ValueType>
using tatooine::gl::tex2r = typedef tex2<ValueType, R>

◆ tex2r16f

using tatooine::gl::tex2r16f = typedef tex2r<GLhalf>

◆ tex2r16i

using tatooine::gl::tex2r16i = typedef tex2r<GLshort>

◆ tex2r16ui

using tatooine::gl::tex2r16ui = typedef tex2r<GLushort>

◆ tex2r32f

using tatooine::gl::tex2r32f = typedef tex2r<GLfloat>

◆ tex2r32i

using tatooine::gl::tex2r32i = typedef tex2r<GLint>

◆ tex2r32ui

◆ tex2r8i

using tatooine::gl::tex2r8i = typedef tex2r<GLbyte>

◆ tex2r8ui

using tatooine::gl::tex2r8ui = typedef tex2r<GLubyte>

◆ tex2rg

template<texture_value ValueType>
using tatooine::gl::tex2rg = typedef tex2<ValueType, RG>

◆ tex2rg16f

using tatooine::gl::tex2rg16f = typedef tex2rg<GLhalf>

◆ tex2rg16i

using tatooine::gl::tex2rg16i = typedef tex2rg<GLshort>

◆ tex2rg16ui

using tatooine::gl::tex2rg16ui = typedef tex2rg<GLushort>

◆ tex2rg32f

using tatooine::gl::tex2rg32f = typedef tex2rg<GLfloat>

◆ tex2rg32i

using tatooine::gl::tex2rg32i = typedef tex2rg<GLint>

◆ tex2rg32ui

◆ tex2rg8i

using tatooine::gl::tex2rg8i = typedef tex2rg<GLbyte>

◆ tex2rg8ui

using tatooine::gl::tex2rg8ui = typedef tex2rg<GLubyte>

◆ tex2rgb

template<texture_value ValueType>
using tatooine::gl::tex2rgb = typedef tex2<ValueType, RGB>

◆ tex2rgb16f

using tatooine::gl::tex2rgb16f = typedef tex2rgb<GLhalf>

◆ tex2rgb16i

using tatooine::gl::tex2rgb16i = typedef tex2rgb<GLshort>

◆ tex2rgb16ui

using tatooine::gl::tex2rgb16ui = typedef tex2rgb<GLushort>

◆ tex2rgb32f

using tatooine::gl::tex2rgb32f = typedef tex2rgb<GLfloat>

◆ tex2rgb32i

using tatooine::gl::tex2rgb32i = typedef tex2rgb<GLint>

◆ tex2rgb32ui

◆ tex2rgb8i

using tatooine::gl::tex2rgb8i = typedef tex2rgb<GLbyte>

◆ tex2rgb8ui

using tatooine::gl::tex2rgb8ui = typedef tex2rgb<GLubyte>

◆ tex2rgba

template<texture_value ValueType>
using tatooine::gl::tex2rgba = typedef tex2<ValueType, RGBA>

◆ tex2rgba16f

using tatooine::gl::tex2rgba16f = typedef tex2rgba<GLhalf>

◆ tex2rgba16i

using tatooine::gl::tex2rgba16i = typedef tex2rgba<GLshort>

◆ tex2rgba16ui

using tatooine::gl::tex2rgba16ui = typedef tex2rgba<GLushort>

◆ tex2rgba32f

using tatooine::gl::tex2rgba32f = typedef tex2rgba<GLfloat>

◆ tex2rgba32i

using tatooine::gl::tex2rgba32i = typedef tex2rgba<GLint>

◆ tex2rgba32ui

◆ tex2rgba8i

using tatooine::gl::tex2rgba8i = typedef tex2rgba<GLbyte>

◆ tex2rgba8ui

using tatooine::gl::tex2rgba8ui = typedef tex2rgba<GLubyte>

◆ tex3

template<texture_value ValueType, texture_component Components>
using tatooine::gl::tex3 = typedef texture<3, ValueType, Components>

◆ tex3bgr

template<texture_value ValueType>
using tatooine::gl::tex3bgr = typedef tex3<ValueType, BGR>

◆ tex3bgra

template<texture_value ValueType>
using tatooine::gl::tex3bgra = typedef tex3<ValueType, BGRA>

◆ tex3r

template<texture_value ValueType>
using tatooine::gl::tex3r = typedef tex3<ValueType, R>

◆ tex3rg

template<texture_value ValueType>
using tatooine::gl::tex3rg = typedef tex3<ValueType, RG>

◆ tex3rgb

template<texture_value ValueType>
using tatooine::gl::tex3rgb = typedef tex3<ValueType, RGB>

◆ tex3rgba

template<texture_value ValueType>
using tatooine::gl::tex3rgba = typedef tex3<ValueType, RGBA>

◆ texdepth16ui

using tatooine::gl::texdepth16ui = typedef tex2depth<GLushort>

◆ texdepth24ui

◆ texdepth32f

using tatooine::gl::texdepth32f = typedef tex2depth<GLfloat>

◆ texdepth32ui

◆ wbuffer_map

template<GLsizei array_type, typename T >
using tatooine::gl::wbuffer_map = typedef buffer_map<array_type, T, GL_MAP_WRITE_BIT>

Enumeration Type Documentation

◆ buffer_usage

enum class tatooine::gl::buffer_usage : GLenum
strong
Enumerator
STREAM_DRAW 
STREAM_READ 
STREAM_COPY 
STATIC_DRAW 
STATIC_READ 
STATIC_COPY 
DYNAMIC_DRAW 
DYNAMIC_READ 
DYNAMIC_COPY 

◆ button

enum class tatooine::gl::button
strong
Enumerator
left 
right 
middle 
wheel_up 
wheel_down 
wheel_left 
wheel_right 
unknown 

◆ compare_func

enum class tatooine::gl::compare_func : GLint
strong
Enumerator
never 
less 
lequal 
greater 
notequal 
gequal 
always 

◆ compare_mode

enum class tatooine::gl::compare_mode : GLint
strong
Enumerator
compare_r_to_texture 
none 

◆ interpolation_mode

enum class tatooine::gl::interpolation_mode : GLint
strong
Enumerator
nearest 
linear 
nearest_mipmap_nearest 
linear_mipmap_nearest 
nearest_mipmap_linear 
linear_mipmap_linear 

◆ key

enum class tatooine::gl::key : std::uint8_t
strong
Enumerator
KEY_0 
KEY_1 
KEY_2 
KEY_3 
KEY_4 
KEY_5 
KEY_6 
KEY_7 
KEY_8 
KEY_9 
KEY_F1 
KEY_F2 
KEY_F3 
KEY_F4 
KEY_F5 
KEY_F6 
KEY_F7 
KEY_F8 
KEY_F9 
KEY_F10 
KEY_F11 
KEY_F12 
KEY_F13 
KEY_F14 
KEY_F15 
KEY_F16 
KEY_F17 
KEY_F18 
KEY_F19 
KEY_F20 
KEY_F21 
KEY_F22 
KEY_F23 
KEY_F24 
KEY_F25 
KEY_F26 
KEY_F27 
KEY_F28 
KEY_F29 
KEY_F30 
KEY_F31 
KEY_F32 
KEY_F33 
KEY_F34 
KEY_F35 
KEY_A 
KEY_B 
KEY_C 
KEY_D 
KEY_E 
KEY_F 
KEY_G 
KEY_H 
KEY_I 
KEY_J 
KEY_K 
KEY_L 
KEY_M 
KEY_N 
KEY_O 
KEY_P 
KEY_Q 
KEY_R 
KEY_S 
KEY_T 
KEY_U 
KEY_V 
KEY_W 
KEY_X 
KEY_Y 
KEY_Z 
KEY_BACKSPACE 
KEY_INSERT 
KEY_HOME 
KEY_PAGE_UP 
KEY_PAGE_DOWN 
KEY_DELETE 
KEY_END 
KEY_TAB 
KEY_ENTER 
KEY_KP_ENTER 
KEY_SPACE 
KEY_EXCLAM 
KEY_QUOTEDBL 
KEY_NUMBERSIGN 
KEY_DOLLAR 
KEY_PERCENT 
KEY_AMPERSAND 
KEY_APOSTROPHE 
KEY_QUOTERIGHT 
KEY_PARENLEFT 
KEY_PARENRIGHT 
KEY_ASTERISK 
KEY_PLUS 
KEY_COMMA 
KEY_DECIMALPOINT 
KEY_MINUS 
KEY_LEFT 
KEY_RIGHT 
KEY_UP 
KEY_DOWN 
KEY_ESCAPE 
KEY_ALT_R 
KEY_ALT_L 
KEY_SHIFT_R 
KEY_SHIFT_L 
KEY_CTRL_R 
KEY_CTRL_L 
KEY_UNKNOWN 

◆ Primitive

Enumerator
POINTS 
LINE_STRIP 
LINE_LOOP 
LINES 
LINE_STRIP_ADJACENCY 
LINES_ADJACENCY 
TRIANGLE_STRIP 
TRIANGLE_FAN 
TRIANGLES 
TRIANGLE_STRIP_ADJACENCY 
TRIANGLES_ADJACENCY 
PATCHES 

◆ Type

Enumerator
UBYTE 
BYTE 
USHORT 
SHORT 
UINT 
INT 
FLOAT 
UBYTE332 
UBYTE233REV 
USHORT565 
USHORT565REV 
USHORT4444 
USHORT4444REV 
USHORT5551 
USHORT1555REV 
UINT8888 
UINT8888REV 
UINT1010102 
UINT2101010REV 

◆ wrap_mode

enum class tatooine::gl::wrap_mode : GLint
strong
Enumerator
clamp_to_border 
clamp_to_edge 
repeat 
mirrored_repeat 

Function Documentation

◆ active_texture()

DLL_API auto tatooine::gl::active_texture ( GLenum  texture) -> void

◆ atomic_counter_barrier()

DLL_API auto tatooine::gl::atomic_counter_barrier ( ) -> void

◆ attach_shader()

DLL_API auto tatooine::gl::attach_shader ( GLuint  program,
GLuint  shader 
) -> void

◆ barrier()

DLL_API auto tatooine::gl::barrier ( ) -> void

◆ begin() [1/2]

template<GLsizei ArrayType, typename T , GLbitfield Access>
auto tatooine::gl::begin ( buffer_map< ArrayType, T, Access > &  map)

◆ begin() [2/2]

template<GLsizei ArrayType, typename T , GLbitfield Access>
auto tatooine::gl::begin ( buffer_map< ArrayType, T, Access > const &  map)

◆ bind_buffer()

DLL_API auto tatooine::gl::bind_buffer ( GLenum  target,
GLuint  buffer 
) -> void

◆ bind_buffer_base()

DLL_API auto tatooine::gl::bind_buffer_base ( GLenum  target,
GLuint  index,
GLuint  buffer 
) -> void

◆ bind_framebuffer()

DLL_API auto tatooine::gl::bind_framebuffer ( GLenum  target,
GLuint  framebuffer 
) -> void

◆ bind_image_texture()

DLL_API auto tatooine::gl::bind_image_texture ( GLuint  unit,
GLuint  texture,
GLint  level,
GLboolean  layered,
GLint  layer,
GLenum  access,
GLenum  format 
) -> void

◆ bind_sampler()

DLL_API auto tatooine::gl::bind_sampler ( GLuint  unit,
GLuint  sampler 
) -> void

◆ bind_texture()

DLL_API auto tatooine::gl::bind_texture ( GLenum  target,
GLuint  texture 
) -> void

◆ bind_vertex_array()

DLL_API auto tatooine::gl::bind_vertex_array ( GLuint  array) -> void

◆ blend_equation()

DLL_API auto tatooine::gl::blend_equation ( GLenum  mode) -> void

◆ blend_equation_i()

DLL_API auto tatooine::gl::blend_equation_i ( GLuint  buf,
GLenum  mode 
) -> void

◆ blend_equation_separate()

DLL_API auto tatooine::gl::blend_equation_separate ( GLenum  modeRGB,
GLenum  modeAlpha 
) -> void

◆ blend_equation_separate_i()

DLL_API auto tatooine::gl::blend_equation_separate_i ( GLuint  buf,
GLenum  modeRGB,
GLenum  modeAlpha 
) -> void

◆ blend_func()

DLL_API auto tatooine::gl::blend_func ( GLenum  sfactor,
GLenum  dfactor 
) -> void

◆ blend_func_additive()

DLL_API auto tatooine::gl::blend_func_additive ( ) -> void

◆ blend_func_alpha()

DLL_API auto tatooine::gl::blend_func_alpha ( ) -> void

◆ blend_func_i()

DLL_API auto tatooine::gl::blend_func_i ( GLuint  buf,
GLenum  sfactor,
GLenum  dfactor 
) -> void

◆ blend_func_multiplicative()

DLL_API auto tatooine::gl::blend_func_multiplicative ( ) -> void

◆ blend_func_separate()

DLL_API auto tatooine::gl::blend_func_separate ( GLenum  srcRGB,
GLenum  dstRGB,
GLenum  srcAlpha,
GLenum  dstAlpha 
) -> void

◆ blend_func_separate_i()

DLL_API auto tatooine::gl::blend_func_separate_i ( GLuint  buf,
GLenum  srcRGB,
GLenum  dstRGB,
GLenum  srcAlpha,
GLenum  dstAlpha 
) -> void

◆ blend_func_subtractive()

DLL_API auto tatooine::gl::blend_func_subtractive ( ) -> void

◆ blending_enabled()

DLL_API auto tatooine::gl::blending_enabled ( ) -> GLboolean

◆ bound_program()

DLL_API auto tatooine::gl::bound_program ( ) -> GLuint

◆ bound_sampler()

DLL_API auto tatooine::gl::bound_sampler ( ) -> GLuint

◆ bound_texture()

DLL_API auto tatooine::gl::bound_texture ( GLenum  binding) -> GLuint

◆ bound_texture1d()

DLL_API auto tatooine::gl::bound_texture1d ( ) -> GLuint

◆ bound_texture2d()

DLL_API auto tatooine::gl::bound_texture2d ( ) -> GLuint

◆ bound_texture3d()

DLL_API auto tatooine::gl::bound_texture3d ( ) -> GLuint

◆ bound_vertexarray()

DLL_API auto tatooine::gl::bound_vertexarray ( ) -> GLuint

◆ bound_vertexbuffer()

DLL_API auto tatooine::gl::bound_vertexbuffer ( ) -> GLuint

◆ buffer_data()

DLL_API auto tatooine::gl::buffer_data ( GLenum  target,
GLsizeiptr  size,
const void *  data,
GLenum  usage 
) -> void

◆ buffer_sub_data()

DLL_API auto tatooine::gl::buffer_sub_data ( GLenum  target,
GLintptr  offset,
GLsizeiptr  size,
const GLvoid *  data 
) -> void

◆ button_pressed_event() [1/2]

template<typename T >
tatooine::gl::button_pressed_event ( T &&  ) -> button_pressed_event< T >

◆ button_pressed_event() [2/2]

template<typename T >
tatooine::gl::button_pressed_event ( T const &  ) -> button_pressed_event< T const & >

◆ button_released_event() [1/2]

template<typename T >
tatooine::gl::button_released_event ( T &&  ) -> button_released_event< T >

◆ button_released_event() [2/2]

template<typename T >
tatooine::gl::button_released_event ( T const &  ) -> button_released_event< T const & >

◆ check_named_framebuffer_status()

DLL_API auto tatooine::gl::check_named_framebuffer_status ( GLuint  framebuffer,
GLenum  target 
) -> GLenum

◆ clear()

DLL_API auto tatooine::gl::clear ( GLbitfield  mask) -> void

◆ clear_color()

DLL_API auto tatooine::gl::clear_color ( GLfloat  red,
GLfloat  green,
GLfloat  blue,
GLfloat  alpha 
) -> void

◆ clear_color_buffer()

DLL_API auto tatooine::gl::clear_color_buffer ( ) -> void

◆ clear_color_depth_buffer()

DLL_API auto tatooine::gl::clear_color_depth_buffer ( ) -> void

◆ clear_depth_buffer()

DLL_API auto tatooine::gl::clear_depth_buffer ( ) -> void

◆ clear_named_buffer_data()

DLL_API auto tatooine::gl::clear_named_buffer_data ( GLuint  buffer,
GLenum  internalformat,
GLenum  format,
GLenum  type,
const void *  data 
) -> void

◆ clear_tex_image()

DLL_API auto tatooine::gl::clear_tex_image ( GLuint  texture,
GLint  level,
GLenum  format,
GLenum  type,
const void *  data 
) -> void

◆ compile_shader()

DLL_API auto tatooine::gl::compile_shader ( GLuint  shader) -> void

◆ convert_key()

auto tatooine::gl::convert_key ( int  key)
inline

◆ copy_image_sub_data()

DLL_API auto tatooine::gl::copy_image_sub_data ( GLuint  srcName,
GLenum  srcTarget,
GLint  srcLevel,
GLint  srcX,
GLint  srcY,
GLint  srcZ,
GLuint  dstName,
GLenum  dstTarget,
GLint  dstLevel,
GLint  dstX,
GLint  dstY,
GLint  dstZ,
GLsizei  srcWidth,
GLsizei  srcHeight,
GLsizei  srcDepth 
) -> void

◆ copy_named_buffer_sub_data()

DLL_API auto tatooine::gl::copy_named_buffer_sub_data ( GLuint  readBuffer,
GLuint  writeBuffer,
GLintptr  readOffset,
GLintptr  writeOffset,
GLsizei  size 
) -> void

◆ create_buffers()

DLL_API auto tatooine::gl::create_buffers ( GLsizei  n,
GLuint buffers 
) -> void

◆ create_framebuffers()

DLL_API auto tatooine::gl::create_framebuffers ( GLsizei  n,
GLuint ids 
) -> void

◆ create_program()

DLL_API auto tatooine::gl::create_program ( ) -> GLuint

◆ create_shader()

DLL_API auto tatooine::gl::create_shader ( GLenum  shaderType) -> GLuint

◆ create_textures()

DLL_API auto tatooine::gl::create_textures ( GLenum  target,
GLsizei  n,
GLuint textures 
) -> void

◆ create_vertex_arrays()

DLL_API auto tatooine::gl::create_vertex_arrays ( GLsizei  n,
GLuint arrays 
) -> void

◆ cull_face()

DLL_API auto tatooine::gl::cull_face ( GLenum  mode) -> void

◆ current_active_texture()

DLL_API auto tatooine::gl::current_active_texture ( ) -> GLenum

◆ current_blend_dst_alpha()

DLL_API auto tatooine::gl::current_blend_dst_alpha ( ) -> GLenum

◆ current_blend_dst_rgb()

DLL_API auto tatooine::gl::current_blend_dst_rgb ( ) -> GLenum

◆ current_blend_equation_alpha()

DLL_API auto tatooine::gl::current_blend_equation_alpha ( ) -> GLenum

◆ current_blend_equation_rgb()

DLL_API auto tatooine::gl::current_blend_equation_rgb ( ) -> GLenum

◆ current_blend_src_alpha()

DLL_API auto tatooine::gl::current_blend_src_alpha ( ) -> GLenum

◆ current_blend_src_rgb()

DLL_API auto tatooine::gl::current_blend_src_rgb ( ) -> GLenum

◆ current_clip_origin()

DLL_API auto tatooine::gl::current_clip_origin ( ) -> GLenum

◆ current_polygon_mode()

DLL_API auto tatooine::gl::current_polygon_mode ( ) -> std::array< GLenum, 2 >

◆ current_scissor_box()

DLL_API auto tatooine::gl::current_scissor_box ( ) -> std::array< GLint, 4 >

◆ current_viewport()

DLL_API auto tatooine::gl::current_viewport ( ) -> std::array< GLint, 4 >

◆ cursor_moved_event() [1/2]

template<typename T >
tatooine::gl::cursor_moved_event ( T &&  ) -> cursor_moved_event< T >

◆ cursor_moved_event() [2/2]

template<typename T >
tatooine::gl::cursor_moved_event ( T const &  ) -> cursor_moved_event< T const & >

◆ delete_buffers()

DLL_API auto tatooine::gl::delete_buffers ( GLsizei  n,
GLuint buffers 
) -> void

◆ delete_framebuffers()

DLL_API auto tatooine::gl::delete_framebuffers ( GLsizei  n,
GLuint ids 
) -> void

◆ delete_program()

DLL_API auto tatooine::gl::delete_program ( GLuint  program) -> void

◆ delete_shader()

DLL_API auto tatooine::gl::delete_shader ( GLuint  shader) -> void

◆ delete_textures()

DLL_API auto tatooine::gl::delete_textures ( GLsizei  n,
GLuint textures 
) -> void

◆ delete_vertex_arrays()

DLL_API auto tatooine::gl::delete_vertex_arrays ( GLsizei  n,
GLuint arrays 
) -> void

◆ depth_func()

DLL_API auto tatooine::gl::depth_func ( GLenum  func) -> void

◆ depth_func_always()

DLL_API auto tatooine::gl::depth_func_always ( ) -> void

◆ depth_func_equal()

DLL_API auto tatooine::gl::depth_func_equal ( ) -> void

◆ depth_func_gequal()

DLL_API auto tatooine::gl::depth_func_gequal ( ) -> void

◆ depth_func_greater()

DLL_API auto tatooine::gl::depth_func_greater ( ) -> void

◆ depth_func_lequal()

DLL_API auto tatooine::gl::depth_func_lequal ( ) -> void

◆ depth_func_less()

DLL_API auto tatooine::gl::depth_func_less ( ) -> void

◆ depth_func_never()

DLL_API auto tatooine::gl::depth_func_never ( ) -> void

◆ depth_func_notequal()

DLL_API auto tatooine::gl::depth_func_notequal ( ) -> void

◆ depth_mask()

DLL_API auto tatooine::gl::depth_mask ( GLboolean  flag) -> void

◆ depth_test_enabled()

DLL_API auto tatooine::gl::depth_test_enabled ( ) -> GLboolean

◆ disable()

DLL_API auto tatooine::gl::disable ( GLenum  cap) -> void

◆ disable_blending()

DLL_API auto tatooine::gl::disable_blending ( ) -> void

◆ disable_depth_test()

DLL_API auto tatooine::gl::disable_depth_test ( ) -> void

◆ disable_depth_write()

DLL_API auto tatooine::gl::disable_depth_write ( ) -> void

◆ disable_face_culling()

DLL_API auto tatooine::gl::disable_face_culling ( ) -> void

◆ disable_multisampling()

DLL_API auto tatooine::gl::disable_multisampling ( ) -> void

◆ disable_scissor_test()

DLL_API auto tatooine::gl::disable_scissor_test ( ) -> void

◆ disable_vertex_attrib_array()

DLL_API auto tatooine::gl::disable_vertex_attrib_array ( GLuint  index) -> void

◆ dispatch_compute()

DLL_API auto tatooine::gl::dispatch_compute ( GLuint  num_groups_x,
GLuint  num_groups_y,
GLuint  num_groups_z 
) -> void

◆ draw_arrays()

DLL_API auto tatooine::gl::draw_arrays ( GLenum  mode,
GLint  first,
GLsizei  count 
) -> void

◆ draw_elements()

DLL_API auto tatooine::gl::draw_elements ( GLenum  mode,
GLsizei  count,
GLenum  type,
const GLvoid *  indices 
) -> void

◆ enable()

DLL_API auto tatooine::gl::enable ( GLenum  cap) -> void

◆ enable_blending()

DLL_API auto tatooine::gl::enable_blending ( ) -> void

◆ enable_depth_test()

DLL_API auto tatooine::gl::enable_depth_test ( ) -> void

◆ enable_depth_write()

DLL_API auto tatooine::gl::enable_depth_write ( ) -> void

◆ enable_face_culling()

DLL_API auto tatooine::gl::enable_face_culling ( ) -> void

◆ enable_multisampling()

DLL_API auto tatooine::gl::enable_multisampling ( ) -> void

◆ enable_scissor_test()

DLL_API auto tatooine::gl::enable_scissor_test ( ) -> void

◆ enable_vertex_attrib_array() [1/2]

DLL_API auto tatooine::gl::enable_vertex_attrib_array ( GLuint  index) -> void

◆ enable_vertex_attrib_array() [2/2]

DLL_API auto tatooine::gl::enable_vertex_attrib_array ( GLuint  vaobj,
GLuint  index 
) -> void

◆ end() [1/2]

template<GLsizei ArrayType, typename T , GLbitfield Access>
auto tatooine::gl::end ( buffer_map< ArrayType, T, Access > &  map)

◆ end() [2/2]

template<GLsizei ArrayType, typename T , GLbitfield Access>
auto tatooine::gl::end ( buffer_map< ArrayType, T, Access > const &  map)

◆ face_culling_enabled()

DLL_API auto tatooine::gl::face_culling_enabled ( ) -> GLboolean

◆ flush()

DLL_API auto tatooine::gl::flush ( ) -> void

◆ for_each()

template<typename F , typename... Ts>
void tatooine::gl::for_each ( F &&  f,
Ts &&...  ts 
)

Applies function F to all elements of parameter pack ts.

◆ framebuffer_texture()

DLL_API auto tatooine::gl::framebuffer_texture ( GLenum  target,
GLenum  attachment,
GLuint  texture,
GLint  level 
) -> void

◆ framebuffer_texture_1d()

DLL_API auto tatooine::gl::framebuffer_texture_1d ( GLenum  target,
GLenum  attachment,
GLenum  textarget,
GLuint  texture,
GLint  level 
) -> void

◆ framebuffer_texture_2d()

DLL_API auto tatooine::gl::framebuffer_texture_2d ( GLenum  target,
GLenum  attachment,
GLenum  textarget,
GLuint  texture,
GLint  level 
) -> void

◆ framebuffer_texture_3d()

DLL_API auto tatooine::gl::framebuffer_texture_3d ( GLenum  target,
GLenum  attachment,
GLenum  textarget,
GLuint  texture,
GLint  level,
GLint  layer 
) -> void

◆ front_face()

DLL_API auto tatooine::gl::front_face ( GLenum  mode) -> void

◆ get_boolean_v()

DLL_API auto tatooine::gl::get_boolean_v ( GLenum  pname,
GLboolean *  params 
) -> void

◆ get_booleani_v()

DLL_API auto tatooine::gl::get_booleani_v ( GLenum  target,
GLuint  index,
GLboolean *  data 
) -> void

◆ get_buffer_parameter_iv()

DLL_API auto tatooine::gl::get_buffer_parameter_iv ( GLenum  target,
GLenum  value,
GLint *  data 
) -> void

◆ get_current_available_memory()

DLL_API auto tatooine::gl::get_current_available_memory ( ) -> GLint

◆ get_double_v()

DLL_API auto tatooine::gl::get_double_v ( GLenum  pname,
GLdouble *  params 
) -> void

◆ get_doublei_v()

DLL_API auto tatooine::gl::get_doublei_v ( GLenum  target,
GLuint  index,
GLdouble *  data 
) -> void

◆ get_error()

DLL_API auto tatooine::gl::get_error ( ) -> GLenum

◆ get_float_v()

DLL_API auto tatooine::gl::get_float_v ( GLenum  pname,
GLfloat *  params 
) -> void

◆ get_floati_v()

DLL_API auto tatooine::gl::get_floati_v ( GLenum  target,
GLuint  index,
GLfloat *  data 
) -> void

◆ get_integer64_v()

DLL_API auto tatooine::gl::get_integer64_v ( GLenum  pname,
GLint64 *  params 
) -> void

◆ get_integer64i_v()

DLL_API auto tatooine::gl::get_integer64i_v ( GLenum  target,
GLuint  index,
GLint64 *  data 
) -> void

◆ get_integer_v()

DLL_API auto tatooine::gl::get_integer_v ( GLenum  pname,
GLint *  params 
) -> void

◆ get_integeri_v()

DLL_API auto tatooine::gl::get_integeri_v ( GLenum  target,
GLuint  index,
GLint *  data 
) -> void

◆ get_n_tex_image()

DLL_API auto tatooine::gl::get_n_tex_image ( GLenum  target,
GLint  level,
GLenum  format,
GLenum  type,
GLsizei  bufSize,
void *  pixels 
) -> void

◆ get_program_info_log()

DLL_API auto tatooine::gl::get_program_info_log ( GLuint  program,
GLsizei  maxLength,
GLsizei length,
GLchar *  infoLog 
) -> void

◆ get_program_iv()

DLL_API auto tatooine::gl::get_program_iv ( GLuint  program,
GLenum  pname,
GLint *  params 
) -> void

◆ get_shader_info_log() [1/3]

DLL_API auto tatooine::gl::get_shader_info_log ( GLuint  shader) -> std::string

◆ get_shader_info_log() [2/3]

DLL_API auto tatooine::gl::get_shader_info_log ( GLuint  shader,
GLsizei  maxLength 
) -> std::string

◆ get_shader_info_log() [3/3]

DLL_API auto tatooine::gl::get_shader_info_log ( GLuint  shader,
GLsizei  maxLength,
GLsizei length,
GLchar *  infoLog 
) -> void

◆ get_shader_info_log_length()

DLL_API auto tatooine::gl::get_shader_info_log_length ( GLuint  shader) -> GLint

◆ get_shader_iv()

DLL_API auto tatooine::gl::get_shader_iv ( GLuint  shader,
GLenum  pname,
GLint *  params 
) -> void

◆ get_string()

DLL_API auto tatooine::gl::get_string ( GLenum  name) -> const GLubyte *

◆ get_tex_image()

DLL_API auto tatooine::gl::get_tex_image ( GLenum  target,
GLint  level,
GLenum  format,
GLenum  type,
GLvoid *  pixels 
) -> void

◆ get_texture_image()

DLL_API auto tatooine::gl::get_texture_image ( GLuint  texture,
GLint  level,
GLenum  format,
GLenum  type,
GLsizei  bufSize,
void *  pixels 
) -> void

◆ get_texture_sub_image()

DLL_API auto tatooine::gl::get_texture_sub_image ( GLuint  texture,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  zoffset,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLenum  format,
GLenum  type,
GLsizei  bufSize,
void *  pixels 
) -> void

◆ get_total_available_memory()

DLL_API auto tatooine::gl::get_total_available_memory ( ) -> GLint

◆ get_uniform_location()

DLL_API auto tatooine::gl::get_uniform_location ( GLuint  program,
const GLchar *  name 
) -> GLint

◆ gl_error_check()

DLL_API auto tatooine::gl::gl_error_check ( std::string_view  function) -> void

◆ gl_error_to_string()

DLL_API auto tatooine::gl::gl_error_to_string ( GLenum  err) -> std::string

◆ gl_framebuffer_error_to_string()

DLL_API auto tatooine::gl::gl_framebuffer_error_to_string ( GLenum  status) -> std::string

◆ gl_framebuffer_not_complete_check()

DLL_API auto tatooine::gl::gl_framebuffer_not_complete_check ( GLuint  fbo_id) -> void

◆ is_enabled()

DLL_API auto tatooine::gl::is_enabled ( GLenum  cap) -> GLboolean

◆ is_texture()

DLL_API auto tatooine::gl::is_texture ( GLuint  texture) -> GLboolean

◆ key_pressed_event() [1/2]

template<typename T >
tatooine::gl::key_pressed_event ( T &&  ) -> key_pressed_event< T >

◆ key_pressed_event() [2/2]

template<typename T >
tatooine::gl::key_pressed_event ( T const &  ) -> key_pressed_event< T const & >

◆ key_released_event() [1/2]

template<typename T >
tatooine::gl::key_released_event ( T &&  ) -> key_released_event< T >

◆ key_released_event() [2/2]

template<typename T >
tatooine::gl::key_released_event ( T const &  ) -> key_released_event< T const & >

◆ line_width()

DLL_API auto tatooine::gl::line_width ( GLfloat  width) -> void

◆ link_program()

DLL_API auto tatooine::gl::link_program ( GLuint  program) -> void

◆ map_access_to_string()

auto tatooine::gl::map_access_to_string ( GLbitfield  b) -> std::string
inline

◆ map_buffer()

DLL_API auto tatooine::gl::map_buffer ( GLenum  target,
GLenum  access 
) -> void *

◆ map_buffer_range()

DLL_API auto tatooine::gl::map_buffer_range ( GLenum  target,
GLintptr  offset,
GLsizeiptr  length,
GLbitfield  access 
) -> void *

◆ map_named_buffer()

DLL_API auto tatooine::gl::map_named_buffer ( GLuint  buffer,
GLenum  access 
) -> void *

◆ map_named_buffer_range()

DLL_API auto tatooine::gl::map_named_buffer_range ( GLuint  buffer,
GLintptr  offset,
GLsizei  length,
GLbitfield  access 
) -> void *

◆ max_compute_image_uniforms()

DLL_API auto tatooine::gl::max_compute_image_uniforms ( ) -> GLint

◆ max_compute_shared_memory_size()

DLL_API auto tatooine::gl::max_compute_shared_memory_size ( ) -> GLint

◆ max_compute_work_group_count()

DLL_API auto tatooine::gl::max_compute_work_group_count ( ) -> std::array< GLint, 3 >

◆ max_compute_work_group_invocations()

DLL_API auto tatooine::gl::max_compute_work_group_invocations ( ) -> GLint

◆ max_compute_work_group_size()

DLL_API auto tatooine::gl::max_compute_work_group_size ( ) -> std::array< GLint, 3 >

◆ max_texture_image_units()

DLL_API auto tatooine::gl::max_texture_image_units ( ) -> GLuint

◆ memory_barrier()

DLL_API auto tatooine::gl::memory_barrier ( GLbitfield  barriers) -> void

◆ multisampling_enabled()

DLL_API auto tatooine::gl::multisampling_enabled ( ) -> bool

◆ named_buffer_data() [1/2]

template<typename T >
auto tatooine::gl::named_buffer_data ( GLuint  buffer,
GLsizei  size,
const T *  data,
GLenum  usage 
) -> void

◆ named_buffer_data() [2/2]

DLL_API auto tatooine::gl::named_buffer_data ( GLuint  buffer,
GLsizeiptr  size,
const void *  data,
GLenum  usage 
) -> void

◆ named_buffer_sub_data()

DLL_API auto tatooine::gl::named_buffer_sub_data ( GLuint  buffer,
GLintptr  offset,
GLsizei  size,
const void *  data 
) -> void

◆ named_framebuffer_draw_buffers()

DLL_API auto tatooine::gl::named_framebuffer_draw_buffers ( GLuint  framebuffer,
GLsizei  n,
const GLenum *  bufs 
) -> void

◆ named_framebuffer_texture()

DLL_API auto tatooine::gl::named_framebuffer_texture ( GLuint  framebuffer,
GLenum  attachment,
GLuint  texture,
GLint  level 
) -> void

◆ opengl_version()

DLL_API auto tatooine::gl::opengl_version ( ) -> std::pair< GLint, GLint >

◆ operator<<() [1/2]

template<GLsizei array_type, typename T >
auto tatooine::gl::operator<< ( std::ostream &  out,
rbuffer_map_element< array_type, T > &  data 
) -> auto&
inline

◆ operator<<() [2/2]

template<GLsizei array_type, typename T >
auto tatooine::gl::operator<< ( std::ostream &  out,
rwbuffer_map_element< array_type, T > &  data 
) -> auto&
inline

◆ point_size()

DLL_API auto tatooine::gl::point_size ( GLfloat  size) -> void

◆ polygon_mode()

DLL_API auto tatooine::gl::polygon_mode ( GLenum  face,
GLenum  mode 
) -> void

◆ program_uniform_1f()

DLL_API auto tatooine::gl::program_uniform_1f ( GLuint  program,
GLint  location,
GLfloat  v0 
) -> void

◆ program_uniform_1fv()

DLL_API auto tatooine::gl::program_uniform_1fv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLfloat *  value 
) -> void

◆ program_uniform_1i()

DLL_API auto tatooine::gl::program_uniform_1i ( GLuint  program,
GLint  location,
GLint  v0 
) -> void

◆ program_uniform_1iv()

DLL_API auto tatooine::gl::program_uniform_1iv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLint *  value 
) -> void

◆ program_uniform_1ui()

DLL_API auto tatooine::gl::program_uniform_1ui ( GLuint  program,
GLint  location,
GLuint  v0 
) -> void

◆ program_uniform_1uiv()

DLL_API auto tatooine::gl::program_uniform_1uiv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLuint value 
) -> void

◆ program_uniform_2f()

DLL_API auto tatooine::gl::program_uniform_2f ( GLuint  program,
GLint  location,
GLfloat  v0,
GLfloat  v1 
) -> void

◆ program_uniform_2fv()

DLL_API auto tatooine::gl::program_uniform_2fv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLfloat *  value 
) -> void

◆ program_uniform_2i()

DLL_API auto tatooine::gl::program_uniform_2i ( GLuint  program,
GLint  location,
GLint  v0,
GLint  v1 
) -> void

◆ program_uniform_2iv()

DLL_API auto tatooine::gl::program_uniform_2iv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLint *  value 
) -> void

◆ program_uniform_2ui()

DLL_API auto tatooine::gl::program_uniform_2ui ( GLuint  program,
GLint  location,
GLuint  v0,
GLuint  v1 
) -> void

◆ program_uniform_2uiv()

DLL_API auto tatooine::gl::program_uniform_2uiv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLuint value 
) -> void

◆ program_uniform_3f()

DLL_API auto tatooine::gl::program_uniform_3f ( GLuint  program,
GLint  location,
GLfloat  v0,
GLfloat  v1,
GLfloat  v2 
) -> void

◆ program_uniform_3fv()

DLL_API auto tatooine::gl::program_uniform_3fv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLfloat *  value 
) -> void

◆ program_uniform_3i()

DLL_API auto tatooine::gl::program_uniform_3i ( GLuint  program,
GLint  location,
GLint  v0,
GLint  v1,
GLint  v2 
) -> void

◆ program_uniform_3iv()

DLL_API auto tatooine::gl::program_uniform_3iv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLint *  value 
) -> void

◆ program_uniform_3ui()

DLL_API auto tatooine::gl::program_uniform_3ui ( GLuint  program,
GLint  location,
GLuint  v0,
GLuint  v1,
GLuint  v2 
) -> void

◆ program_uniform_3uiv()

DLL_API auto tatooine::gl::program_uniform_3uiv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLuint value 
) -> void

◆ program_uniform_4f()

DLL_API auto tatooine::gl::program_uniform_4f ( GLuint  program,
GLint  location,
GLfloat  v0,
GLfloat  v1,
GLfloat  v2,
GLfloat  v3 
) -> void

◆ program_uniform_4fv()

DLL_API auto tatooine::gl::program_uniform_4fv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLfloat *  value 
) -> void

◆ program_uniform_4i()

DLL_API auto tatooine::gl::program_uniform_4i ( GLuint  program,
GLint  location,
GLint  v0,
GLint  v1,
GLint  v2,
GLint  v3 
) -> void

◆ program_uniform_4iv()

DLL_API auto tatooine::gl::program_uniform_4iv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLint *  value 
) -> void

◆ program_uniform_4ui()

DLL_API auto tatooine::gl::program_uniform_4ui ( GLuint  program,
GLint  location,
GLuint  v0,
GLuint  v1,
GLuint  v2,
GLuint  v3 
) -> void

◆ program_uniform_4uiv()

DLL_API auto tatooine::gl::program_uniform_4uiv ( GLuint  program,
GLint  location,
GLsizei  count,
const GLuint value 
) -> void

◆ program_uniform_matrix_2fv()

DLL_API auto tatooine::gl::program_uniform_matrix_2fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_2x3fv()

DLL_API auto tatooine::gl::program_uniform_matrix_2x3fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_2x4fv()

DLL_API auto tatooine::gl::program_uniform_matrix_2x4fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_3fv()

DLL_API auto tatooine::gl::program_uniform_matrix_3fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_3x2fv()

DLL_API auto tatooine::gl::program_uniform_matrix_3x2fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_3x4fv()

DLL_API auto tatooine::gl::program_uniform_matrix_3x4fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_4fv()

DLL_API auto tatooine::gl::program_uniform_matrix_4fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_4x2fv()

DLL_API auto tatooine::gl::program_uniform_matrix_4x2fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ program_uniform_matrix_4x3fv()

DLL_API auto tatooine::gl::program_uniform_matrix_4x3fv ( GLuint  program,
GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
) -> void

◆ resize_event() [1/2]

template<typename T >
tatooine::gl::resize_event ( T &&  ) -> resize_event< T >

◆ resize_event() [2/2]

template<typename T >
tatooine::gl::resize_event ( T const &  ) -> resize_event< T const & >

◆ scissor()

DLL_API auto tatooine::gl::scissor ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
) -> void

◆ scissor_test_enabled()

DLL_API auto tatooine::gl::scissor_test_enabled ( ) -> GLboolean

◆ set_back_face_culling()

DLL_API auto tatooine::gl::set_back_face_culling ( ) -> void

◆ set_front_face_culling()

DLL_API auto tatooine::gl::set_front_face_culling ( ) -> void

◆ shader_image_access_barrier()

DLL_API auto tatooine::gl::shader_image_access_barrier ( ) -> void

◆ shader_source()

DLL_API auto tatooine::gl::shader_source ( GLuint  shader,
GLsizei  count,
const GLchar **  string,
const GLint *  length 
) -> void

◆ shader_storage_barrier()

DLL_API auto tatooine::gl::shader_storage_barrier ( ) -> void

◆ swap()

template<typename ID >
void tatooine::gl::swap ( id_holder< ID > &  i0,
id_holder< ID > &  i1 
)

◆ tex_image_1d()

DLL_API auto tatooine::gl::tex_image_1d ( GLenum  target,
GLint  level,
GLint  internal_format,
GLsizei  width,
GLint  border,
GLenum  format,
GLenum  type,
const GLvoid *  data 
) -> void

◆ tex_image_2d()

DLL_API auto tatooine::gl::tex_image_2d ( GLenum  target,
GLint  level,
GLint  internal_format,
GLsizei  width,
GLsizei  height,
GLint  border,
GLenum  format,
GLenum  type,
const GLvoid *  data 
) -> void

◆ tex_image_3d()

DLL_API auto tatooine::gl::tex_image_3d ( GLenum  target,
GLint  level,
GLint  internal_format,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLint  border,
GLenum  format,
GLenum  type,
const GLvoid *  data 
) -> void

◆ tex_parameter_f()

DLL_API auto tatooine::gl::tex_parameter_f ( GLenum  target,
GLenum  pname,
GLfloat  param 
) -> void

◆ tex_parameter_fv()

DLL_API auto tatooine::gl::tex_parameter_fv ( GLenum  target,
GLenum  pname,
const GLfloat *  params 
) -> void

◆ tex_parameter_i()

DLL_API auto tatooine::gl::tex_parameter_i ( GLenum  target,
GLenum  pname,
GLint  param 
) -> void

◆ tex_parameter_Iiv()

DLL_API auto tatooine::gl::tex_parameter_Iiv ( GLenum  target,
GLenum  pname,
const GLint *  params 
) -> void

◆ tex_parameter_Iuiv()

DLL_API auto tatooine::gl::tex_parameter_Iuiv ( GLenum  target,
GLenum  pname,
const GLuint params 
) -> void

◆ tex_parameter_iv()

DLL_API auto tatooine::gl::tex_parameter_iv ( GLenum  target,
GLenum  pname,
const GLint *  params 
) -> void

◆ tex_sub_image_2d()

DLL_API auto tatooine::gl::tex_sub_image_2d ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
const GLvoid *  pixels 
) -> void

◆ texparami_to_string()

auto tatooine::gl::texparami_to_string ( GLint  i) -> std::string
inline

◆ texture_parameter_f()

DLL_API auto tatooine::gl::texture_parameter_f ( GLuint  texture,
GLenum  pname,
GLfloat  param 
) -> void

◆ texture_parameter_fv()

DLL_API auto tatooine::gl::texture_parameter_fv ( GLuint  texture,
GLenum  pname,
const GLfloat *  paramtexture 
) -> void

◆ texture_parameter_i()

DLL_API auto tatooine::gl::texture_parameter_i ( GLuint  texture,
GLenum  pname,
GLint  param 
) -> void

◆ texture_parameter_Iiv()

DLL_API auto tatooine::gl::texture_parameter_Iiv ( GLuint  texture,
GLenum  pname,
const GLint *  param 
) -> void

◆ texture_parameter_Iuiv()

DLL_API auto tatooine::gl::texture_parameter_Iuiv ( GLuint  texture,
GLenum  pname,
const GLuint param 
) -> void

◆ texture_parameter_iv()

DLL_API auto tatooine::gl::texture_parameter_iv ( GLuint  texture,
GLenum  pname,
const GLint *  param 
) -> void

◆ texture_sub_image_1d()

DLL_API auto tatooine::gl::texture_sub_image_1d ( GLuint  texture,
GLint  level,
GLint  xoffset,
GLsizei  width,
GLenum  format,
GLenum  type,
const void *  pixels 
) -> void

◆ texture_sub_image_2d()

DLL_API auto tatooine::gl::texture_sub_image_2d ( GLuint  texture,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
const void *  pixels 
) -> void

◆ texture_sub_image_3d()

DLL_API auto tatooine::gl::texture_sub_image_3d ( GLuint  texture,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  zoffset,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLenum  format,
GLenum  type,
const void *  pixels 
) -> void

◆ to_2d()

template<either_of< R, RG, RGBA > Components>
auto tatooine::gl::to_2d ( tex1< float, Components > const &  t1,
std::size_t const  height,
std::size_t const  local_size_x = 32,
std::size_t const  local_size_y = 32 
)

◆ to_string() [1/3]

auto tatooine::gl::to_string ( button  b) -> std::string

◆ to_string() [2/3]

auto tatooine::gl::to_string ( GLenum  e) -> std::string
inline

◆ to_string() [3/3]

auto tatooine::gl::to_string ( key const  k) -> std::string

◆ unmap_buffer()

DLL_API auto tatooine::gl::unmap_buffer ( GLenum  target) -> GLboolean

◆ unmap_named_buffer()

DLL_API auto tatooine::gl::unmap_named_buffer ( GLuint  buffer) -> GLboolean

◆ use_program()

DLL_API auto tatooine::gl::use_program ( GLuint  program) -> void

◆ vertex_attrib_i_pointer()

DLL_API auto tatooine::gl::vertex_attrib_i_pointer ( GLuint  index,
GLint  size,
GLenum  type,
GLsizei  stride,
const GLvoid *  pointer 
) -> void

◆ vertex_attrib_l_pointer()

DLL_API auto tatooine::gl::vertex_attrib_l_pointer ( GLuint  index,
GLint  size,
GLenum  type,
GLsizei  stride,
const GLvoid *  pointer 
) -> void

◆ vertex_attrib_pointer()

DLL_API auto tatooine::gl::vertex_attrib_pointer ( GLuint  index,
GLint  size,
GLenum  type,
GLboolean  normalized,
GLsizei  stride,
const GLvoid *  pointer 
) -> void

◆ viewport() [1/2]

DLL_API auto tatooine::gl::viewport ( camera const &  cam) -> void

◆ viewport() [2/2]

DLL_API auto tatooine::gl::viewport ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
) -> void

◆ wheel_down_event() [1/2]

template<typename T >
tatooine::gl::wheel_down_event ( T &&  ) -> wheel_down_event< T >

◆ wheel_down_event() [2/2]

template<typename T >
tatooine::gl::wheel_down_event ( T const &  ) -> wheel_down_event< T const & >

◆ wheel_up_event() [1/2]

template<typename T >
tatooine::gl::wheel_up_event ( T &&  ) -> wheel_up_event< T >

◆ wheel_up_event() [2/2]

template<typename T >
tatooine::gl::wheel_up_event ( T const &  ) -> wheel_up_event< T const & >

Variable Documentation

◆ gl_type_v

template<typename T >
constexpr auto tatooine::gl::gl_type_v = gl_type<T>::value
staticconstexpr

◆ id_holder_default_param_v

template<typename ID >
constexpr auto tatooine::gl::id_holder_default_param_v
staticconstexpr
Initial value:
=
id_holder_default_param<ID>::value

◆ texture_color_component

template<typename T >
auto constexpr tatooine::gl::texture_color_component
staticconstexpr
Initial value:

◆ texture_depth_component

template<typename T >
auto constexpr tatooine::gl::texture_depth_component = either_of<T, Depth>
staticconstexpr

◆ texture_format_qualifier

template<texture_value ValueType, texture_component Components>
auto constexpr tatooine::gl::texture_format_qualifier
staticconstexpr
Initial value:
=
texture_format_qualifier_impl<ValueType, Components>::value

◆ value_type_v

template<typename T >
constexpr auto tatooine::gl::value_type_v = value_type<T>::value
staticconstexpr

◆ verbose

bool tatooine::gl::verbose = TATOOINE_GL_VERBOSE
static

◆ verbose_ostream

std::ostream& tatooine::gl::verbose_ostream = std::cerr
static