OGLplus  (0.59.0) a C++ wrapper for rendering APIs

GL API wrappers

Classes

class  eagine::oalp::alut_no_result_info
 Class storing information about call result for unavailable ALUT functions. More...
 
class  eagine::oalp::alut_result_info
 Class storing information about an ALUT function call result. More...
 
class  eagine::oglp::basic_gl_api< ApiTraits >
 Combined wrapper for the GL API operations and constants. More...
 
class  eagine::oglp::basic_gl_operations< ApiTraits >
 Class wrapping the functions from the GL API. More...
 
class  eagine::oglp::gl_api_traits
 Policy customizing the generic C-API wrappers for the GL API. More...
 
class  eagine::oglp::basic_gl_c_api< ApiTraits >
 Class wrapping the C-functions from the GL API. More...
 
struct  eagine::oglp::gl_types
 Collection of aliases for GL types. More...
 
class  eagine::oglp::basic_gl_constants< ApiTraits >
 Class wrapping the constants from the GL API. More...
 
struct  eagine::oglp::true_false
 Wrapper for true, false GL enums. More...
 
struct  eagine::oglp::error_code
 Typed enumeration for GL error code constants. More...
 
struct  eagine::oglp::context_flag_bit
 Typed enumeration for GL context flag bit constants. More...
 
struct  eagine::oglp::context_profile_bit
 Typed enumeration for GL context profile bit constants. More...
 
struct  eagine::oglp::context_release_behavior
 Typed enumeration for GL context release behavior constants. More...
 
struct  eagine::oglp::reset_notification_strategy
 Typed enumeration for GL context reset notification strategy constants. More...
 
struct  eagine::oglp::capability
 Typed enumeration for GL capability constants. More...
 
struct  eagine::oglp::client_capability
 Typed enumeration for GL client capability constants. More...
 
struct  eagine::oglp::graphics_reset_status
 Typed enumeration for GL graphics reset status constants. More...
 
struct  eagine::oglp::memory_barrier_bit
 Typed enumeration for GL memory barrier bit constants. More...
 
struct  eagine::oglp::access_specifier
 Typed enumeration for GL access specifier constants. More...
 
struct  eagine::oglp::precision_type
 Typed enumeration for GL precision type constants. More...
 
struct  eagine::oglp::object_type
 Typed enumeration for GL object type constants. More...
 
struct  eagine::oglp::sync_type
 Typed enumeration for GL sync type constants. More...
 
struct  eagine::oglp::sync_status
 Typed enumeration for GL sync status constants. More...
 
struct  eagine::oglp::sync_condition
 Typed enumeration for GL sync condition constants. More...
 
struct  eagine::oglp::sync_flag_bit
 Typed enumeration for GL sync flag bit constants. More...
 
struct  eagine::oglp::sync_parameter
 Typed enumeration for GL sync parameter constants. More...
 
struct  eagine::oglp::sync_wait_result
 Typed enumeration for GL sync wait result constants. More...
 
struct  eagine::oglp::shader_type
 Typed enumeration for GL shader type constants. More...
 
struct  eagine::oglp::shader_parameter
 Typed enumeration for GL shader parameter constants. More...
 
struct  eagine::oglp::program_stage_bit
 Typed enumeration for GL program stage bit constants. More...
 
struct  eagine::oglp::program_stage_parameter
 Typed enumeration for GL program stage parameter constants. More...
 
struct  eagine::oglp::program_parameter
 Typed enumeration for GL program parameter constants. More...
 
struct  eagine::oglp::program_binary_format
 Typed enumeration for GL program binary format constants. More...
 
struct  eagine::oglp::program_pipeline_parameter
 Typed enumeration for GL program pipeline parameter constants. More...
 
struct  eagine::oglp::buffer_target
 Typed enumeration for GL buffer bind target constants. More...
 
struct  eagine::oglp::buffer_parameter
 Typed enumeration for GL buffer parameter constants. More...
 
struct  eagine::oglp::buffer_usage
 Typed enumeration for GL buffer usage constants. More...
 
struct  eagine::oglp::buffer_map_access_bit
 Typed enumeration for GL buffer map access bit constants. More...
 
struct  eagine::oglp::buffer_storage_bit
 Typed enumeration for GL buffer storage bit constants. More...
 
struct  eagine::oglp::program_interface
 Typed enumeration for GL program interface constants. More...
 
struct  eagine::oglp::program_property
 Typed enumeration for GL program property constants. More...
 
struct  eagine::oglp::buffer_clear_bit
 Typed enumeration for GL buffer clear bit constants. More...
 
struct  eagine::oglp::buffer_blit_bit
 Typed enumeration for GL buffer blit bit constants. More...
 
struct  eagine::oglp::texture_unit
 Typed enumeration for GL texture unit constants. More...
 
struct  eagine::oglp::texture_target
 Typed enumeration for GL texture bind target constants. More...
 
struct  eagine::oglp::texture_compare_mode
 Typed enumeration for GL texture compare mode constants. More...
 
struct  eagine::oglp::texture_min_filter
 Typed enumeration for GL texture minification filter constants. More...
 
struct  eagine::oglp::texture_mag_filter
 Typed enumeration for GL texture magnification filter constants. More...
 
struct  eagine::oglp::texture_filter
 Typed enumeration for GL texture filter constants. More...
 
struct  eagine::oglp::texture_level_parameter
 Typed enumeration for GL texture level parameter constants. More...
 
struct  eagine::oglp::texture_parameter
 Typed enumeration for GL texture parameter constants. More...
 
struct  eagine::oglp::texture_swizzle_coord
 Typed enumeration for GL texture swizzle coordinate constants. More...
 
struct  eagine::oglp::texture_swizzle_mode
 Typed enumeration for GL texture swizzle mode constants. More...
 
struct  eagine::oglp::texture_wrap_coord
 Typed enumeration for GL texture wrap coordinate constants. More...
 
struct  eagine::oglp::texture_wrap_mode
 Typed enumeration for GL texture wrap mode constants. More...
 
struct  eagine::oglp::renderbuffer_target
 Typed enumeration for GL renderbuffer bind target constants. More...
 
struct  eagine::oglp::renderbuffer_parameter
 Typed enumeration for GL renderbuffer parameter constants. More...
 
struct  eagine::oglp::framebuffer_target
 Typed enumeration for GL framebuffer bind target constants. More...
 
struct  eagine::oglp::framebuffer_status
 Typed enumeration for GL framebuffer status constants. More...
 
struct  eagine::oglp::framebuffer_parameter
 Typed enumeration for GL framebuffer parameter constants. More...
 
struct  eagine::oglp::framebuffer_attachment_parameter
 Typed enumeration for GL framebuffer attachment parameter constants. More...
 
struct  eagine::oglp::framebuffer_buffer
 Typed enumeration for GL framebuffer draw buffer constants. More...
 
struct  eagine::oglp::framebuffer_attachment
 Typed enumeration for GL framebuffer attachment constants. More...
 
struct  eagine::oglp::sampler_parameter
 Typed enumeration for GL sampler parameter constants. More...
 
struct  eagine::oglp::query_target
 Typed enumeration for GL query target constants. More...
 
struct  eagine::oglp::counter_query_target
 Typed enumeration for GL counter query target constants. More...
 
struct  eagine::oglp::query_parameter
 Typed enumeration for GL query parameter constants. More...
 
struct  eagine::oglp::transform_feedback_target
 Typed enumeration for GL transform feedback target constants. More...
 
struct  eagine::oglp::transform_feedback_primitive_type
 Typed enumeration for GL transform feedback primitive type constants. More...
 
struct  eagine::oglp::transform_feedback_mode
 Typed enumeration for GL transform feedback mode constants. More...
 
struct  eagine::oglp::transform_feedback_parameter
 Typed enumeration for GL transform feedback parameter constants. More...
 
struct  eagine::oglp::vertex_attrib_parameter
 Typed enumeration for GL vertex attribute parameter constants. More...
 
struct  eagine::oglp::primitive_type
 Typed enumeration for GL primitive type constants. More...
 
struct  eagine::oglp::old_primitive_type
 Typed enumeration for GL legacy primitive type constants. More...
 
struct  eagine::oglp::tess_gen_primitive_type
 Typed enumeration for GL tessellation generator primitive type constants. More...
 
struct  eagine::oglp::tess_gen_primitive_spacing
 Typed enumeration for GL tessellation generator primitive spacing constants. More...
 
struct  eagine::oglp::patch_parameter
 Typed enumeration for GL patch parameter constants. More...
 
struct  eagine::oglp::provoke_mode
 Typed enumeration for GL provoke mode constants. More...
 
struct  eagine::oglp::conditional_render_mode
 Typed enumeration for GL conditional render mode constants. More...
 
struct  eagine::oglp::face_mode
 Typed enumeration for GL face mode constants. More...
 
struct  eagine::oglp::face_orientation
 Typed enumeration for GL face orientation constants. More...
 
struct  eagine::oglp::surface_buffer
 Typed enumeration for GL draw surface buffer constants. More...
 
struct  eagine::oglp::compare_function
 Typed enumeration for GL compare function constants. More...
 
struct  eagine::oglp::blit_filter
 Typed enumeration for GL blit filter constants. More...
 
struct  eagine::oglp::binding_query
 Typed enumeration for GL binding query constants. More...
 
struct  eagine::oglp::integer_query
 Typed enumeration for GL integer query constants. More...
 
struct  eagine::oglp::float_query
 Typed enumeration for GL floating-point query constants. More...
 
struct  eagine::oglp::string_query
 Typed enumeration for GL string query constants. More...
 
struct  eagine::oglp::named_string_query
 Typed enumeration for GL named string query constants. More...
 
struct  eagine::oglp::data_type
 Typed enumeration for GL data type constants. More...
 
struct  eagine::oglp::index_data_type
 Typed enumeration for GL index data type constants. More...
 
struct  eagine::oglp::sl_data_type
 Typed enumeration for GL shading language data type constants. More...
 
struct  eagine::oglp::point_parameter
 Typed enumeration for GL point parameter constants. More...
 
struct  eagine::oglp::point_sprite_coord_origin
 Typed enumeration for GL point sprite coord origin constants. More...
 
struct  eagine::oglp::polygon_mode
 Typed enumeration for GL polygon mode constants. More...
 
struct  eagine::oglp::stencil_operation
 Typed enumeration for GL stencil operation constants. More...
 
struct  eagine::oglp::logic_operation
 Typed enumeration for GL logic operation constants. More...
 
struct  eagine::oglp::blend_equation
 Typed enumeration for GL blend equation constants. More...
 
struct  eagine::oglp::blend_equation_advanced
 Typed enumeration for GL advanced blend equation constants. More...
 
struct  eagine::oglp::blend_function
 Typed enumeration for GL blend function constants. More...
 
struct  eagine::oglp::pixel_data_type
 Typed enumeration for GL pixel data type constants. More...
 
struct  eagine::oglp::pixel_format
 Typed enumeration for GL pixel format constants. More...
 
struct  eagine::oglp::image_unit_format
 Typed enumeration for GL image unit format constants. More...
 
struct  eagine::oglp::pixel_internal_format
 Typed enumeration for GL pixel internal format constants. More...
 
struct  eagine::oglp::pixel_store_parameter
 Typed enumeration for GL pixel store parameter constants. More...
 
struct  eagine::oglp::internal_format_parameter
 Typed enumeration for GL internal format parameter constants. More...
 
struct  eagine::oglp::image_compatibility_class
 Typed enumeration for GL image compatibility class constants. More...
 
struct  eagine::oglp::view_compatibility_class
 Typed enumeration for GL view compatibility class constants. More...
 
struct  eagine::oglp::sample_parameter
 Typed enumeration for GL sample parameter constants. More...
 
struct  eagine::oglp::hint_option
 Typed enumeration for GL hint option constants. More...
 
struct  eagine::oglp::hint_target
 Typed enumeration for GL hint target constants. More...
 
struct  eagine::oglp::debug_output_severity
 Typed enumeration for GL debug output severity constants. More...
 
struct  eagine::oglp::debug_output_source
 Typed enumeration for GL debug output source constants. More...
 
struct  eagine::oglp::debug_output_type
 Typed enumeration for GL debug output type constants. More...
 
struct  eagine::oglp::support_level
 Typed enumeration for GL feature support level constants. More...
 
struct  eagine::oglp::named_string_kind
 Typed enumeration for GL named string kind constants. More...
 
struct  eagine::oglp::matrix_mode
 Typed enumeration for GL legacy matrix mode constants. More...
 
struct  eagine::oglp::path_command_nv
 Typed enumeration for GL path command constants. More...
 
struct  eagine::oglp::path_cap_style_nv
 Typed enumeration for GL path cap style constants. More...
 
struct  eagine::oglp::path_color_format_nv
 Typed enumeration for GL path color format constants. More...
 
struct  eagine::oglp::path_color_nv
 Typed enumeration for GL path color constants. More...
 
struct  eagine::oglp::path_dash_offset_reset_nv
 Typed enumeration for GL path dash offset constants. More...
 
struct  eagine::oglp::path_stroke_cover_mode_nv
 Typed enumeration for GL path stroke cover mode constants. More...
 
struct  eagine::oglp::path_fill_cover_mode_nv
 Typed enumeration for GL path fill cover mode constants. More...
 
struct  eagine::oglp::path_fill_mode_nv
 Typed enumeration for GL path fill mode constants. More...
 
struct  eagine::oglp::path_font_style_nv
 Typed enumeration for GL path font style constants. More...
 
struct  eagine::oglp::path_join_style_nv
 Typed enumeration for GL path join style constants. More...
 
struct  eagine::oglp::path_font_target_nv
 Typed enumeration for GL path font target constants. More...
 
struct  eagine::oglp::path_format_nv
 Typed enumeration for GL path format constants. More...
 
struct  eagine::oglp::path_gen_mode_nv
 Typed enumeration for GL path gen mode constants. More...
 
struct  eagine::oglp::path_list_mode_nv
 Typed enumeration for GL path list mode constants. More...
 
struct  eagine::oglp::path_metric_query_nv
 Typed enumeration for GL path metric query constants. More...
 
struct  eagine::oglp::path_missing_glyph_nv
 Typed enumeration for GL path missing glyph constants. More...
 
struct  eagine::oglp::path_parameter_nv
 Typed enumeration for GL path parameter constants. More...
 
struct  eagine::oglp::path_text_encoding_nv
 Typed enumeration for GL path text encoding constants. More...
 
struct  eagine::oglp::path_transform_type_nv
 Typed enumeration for GL path transform type constants. More...
 
class  eagine::oglp::basic_gl_extension< ApiTraits >
 Wrapper for GL extension information getter. More...
 
class  eagine::oglp::prog_var_location< TagId >
 Class wrapping GL shader program variable location. More...
 
class  eagine::oglp::gl_no_result_info
 Class storing information about call result for unavailable GL functions. More...
 
class  eagine::oglp::gl_result_info
 Class storing information about a GL function call result. More...
 

Typedefs

template<typename Result >
using eagine::eglp::egl_opt_result = api_opt_result< Result, egl_result_info >
 Alias for conditionally-valid result of a EGL API function call. More...
 
using eagine::oglp::gl_c_api = basic_gl_c_api< gl_api_traits >
 Alias for the default GL operations wrapper instantiation.
 
template<typename Self , identifier_t Id>
using eagine::oglp::gl_enum_class = enum_class< Self, gl_types::enum_type, EAGINE_ID_V(GL), Id >
 Typed wrapper class for GLenum constants/values. More...
 
template<typename Self , identifier_t Id>
using eagine::oglp::gl_bitfield_class = enum_class< Self, gl_types::bitfield_type, EAGINE_ID_V(GL), Id >
 Typed wrapper class for GLbitfield constants/values. More...
 
template<typename Self , identifier_t Id>
using eagine::oglp::gl_ubyte_class = enum_class< Self, gl_types::ubyte_type, EAGINE_ID_V(GL), Id >
 Typed wrapper class for GLubyte constants/values. More...
 
template<typename Self , identifier_t Id>
using eagine::oglp::gl_bool_class = enum_class< Self, gl_types::bool_type, EAGINE_ID_V(GL), Id >
 Typed wrapper class for GLboolean constants/values. More...
 
using eagine::oglp::gl_any_enum_class = any_enum_class< EAGINE_ID_V(GL)>
 Type erasure alias for GL enum classes. More...
 
using eagine::oglp::gl_any_enum_value = any_enum_value< EAGINE_ID_V(GL)>
 Type erasure alias for GL enum values.
 
template<typename Tag >
using eagine::oglp::gl_object_name = basic_handle< Tag, gl_types::name_type >
 Alias for template wrapping GL object handles. More...
 
template<typename Tag >
using eagine::oglp::gl_owned_object_name = basic_owned_handle< Tag, gl_types::name_type >
 Alias for template wrapping owned GL object handles. More...
 
template<typename Tag >
using eagine::oglp::gl_object_name_span = basic_handle_span< gl_object_name< Tag > >
 Alias for template wrapping a mutable span of GL object handles. More...
 
template<typename Tag >
using eagine::oglp::gl_object_name_view = basic_handle_view< gl_object_name< Tag > >
 Alias for template wrapping a const span of GL object handles. More...
 
template<typename Tag , std::size_t N>
using eagine::oglp::gl_object_name_array = basic_handle_array< gl_object_name< Tag >, N >
 Alias for template wrapping an array of GL object handles. More...
 
template<typename Tag >
using eagine::oglp::gl_object_name_vector = basic_handle_vector< gl_object_name< Tag > >
 Alias for template wrapping a vector of GL object handles. More...
 
using eagine::oglp::buffer_tag = EAGINE_MSG_TYPE(gl, Buffer)
 Tag type denoting GL buffer objects.
 
using eagine::oglp::framebuffer_tag = EAGINE_MSG_TYPE(gl, Frmebuffer)
 Tag type denoting GL framebuffer objects.
 
using eagine::oglp::program_pipeline_tag = EAGINE_MSG_TYPE(gl, PrgPpline)
 Tag type denoting GL program pipeline objects.
 
using eagine::oglp::program_tag = EAGINE_MSG_TYPE(gl, Program)
 Tag type denoting GL program objects.
 
using eagine::oglp::query_tag = EAGINE_MSG_TYPE(gl, Query)
 Tag type denoting GL query objects.
 
using eagine::oglp::renderbuffer_tag = EAGINE_MSG_TYPE(gl, Rndrbuffer)
 Tag type denoting GL renderbuffer objects.
 
using eagine::oglp::sampler_tag = EAGINE_MSG_TYPE(gl, Sampler)
 Tag type denoting GL sampler objects.
 
using eagine::oglp::shader_tag = EAGINE_MSG_TYPE(gl, Shader)
 Tag type denoting GL shader objects.
 
using eagine::oglp::texture_tag = EAGINE_MSG_TYPE(gl, Texture)
 Tag type denoting GL texture objects.
 
using eagine::oglp::transform_feedback_tag = EAGINE_MSG_TYPE(gl, TransfFdbk)
 Tag type denoting GL transform feedback objects.
 
using eagine::oglp::vertex_array_tag = EAGINE_MSG_TYPE(gl, VertexArry)
 Tag type denoting GL vertex array objects.
 
using eagine::oglp::path_nv_tag = EAGINE_MSG_TYPE(gl, PathNV)
 Tag type denoting GL path objects.
 
using eagine::oglp::buffer_name = gl_object_name< buffer_tag >
 Alias for GL buffer object handle. More...
 
using eagine::oglp::framebuffer_name = gl_object_name< framebuffer_tag >
 Alias for GL framebuffer object handle. More...
 
using eagine::oglp::program_pipeline_name = gl_object_name< program_pipeline_tag >
 Alias for GL program pipeline object handle. More...
 
using eagine::oglp::program_name = gl_object_name< program_tag >
 Alias for GL program object handle. More...
 
using eagine::oglp::query_name = gl_object_name< query_tag >
 Alias for GL query object handle. More...
 
using eagine::oglp::renderbuffer_name = gl_object_name< renderbuffer_tag >
 Alias for GL renderbuffer object handle. More...
 
using eagine::oglp::sampler_name = gl_object_name< sampler_tag >
 Alias for GL sampler object handle. More...
 
using eagine::oglp::shader_name = gl_object_name< shader_tag >
 Alias for GL shader object handle. More...
 
using eagine::oglp::texture_name = gl_object_name< texture_tag >
 Alias for GL texture object handle. More...
 
using eagine::oglp::transform_feedback_name = gl_object_name< transform_feedback_tag >
 Alias for GL transform feedback object handle. More...
 
using eagine::oglp::vertex_array_name = gl_object_name< vertex_array_tag >
 Alias for GL vertex array object handle. More...
 
using eagine::oglp::path_nv_name = gl_object_name< path_nv_tag >
 Alias for GL path object handle. More...
 
using eagine::oglp::owned_buffer_name = gl_owned_object_name< buffer_tag >
 Alias for owned GL buffer object handle. More...
 
using eagine::oglp::owned_framebuffer_name = gl_owned_object_name< framebuffer_tag >
 Alias for owned GL framebuffer object handle. More...
 
using eagine::oglp::owned_program_pipeline_name = gl_owned_object_name< program_pipeline_tag >
 Alias for owned GL program_pipeline object handle. More...
 
using eagine::oglp::owned_program_name = gl_owned_object_name< program_tag >
 Alias for owned GL program object handle. More...
 
using eagine::oglp::owned_query_name = gl_owned_object_name< query_tag >
 Alias for owned GL query object handle. More...
 
using eagine::oglp::owned_renderbuffer_name = gl_owned_object_name< renderbuffer_tag >
 Alias for owned GL renderbuffer object handle. More...
 
using eagine::oglp::owned_sampler_name = gl_owned_object_name< sampler_tag >
 Alias for owned GL sampler object handle. More...
 
using eagine::oglp::owned_shader_name = gl_owned_object_name< shader_tag >
 Alias for owned GL shader object handle. More...
 
using eagine::oglp::owned_texture_name = gl_owned_object_name< texture_tag >
 Alias for owned GL texture object handle. More...
 
using eagine::oglp::owned_transform_feedback_name = gl_owned_object_name< transform_feedback_tag >
 Alias for owned GL transform feedback object handle. More...
 
using eagine::oglp::owned_vertex_array_name = gl_owned_object_name< vertex_array_tag >
 Alias for owned GL vertex array object handle. More...
 
using eagine::oglp::owned_path_nv_name = gl_owned_object_name< path_nv_tag >
 Alias for owned GL path object handle. More...
 
template<std::size_t N>
using eagine::oglp::buffer_name_array = gl_object_name_array< buffer_tag, N >
 Alias for array of N GL buffer object handles. More...
 
template<std::size_t N>
using eagine::oglp::framebuffer_name_array = gl_object_name_array< framebuffer_tag, N >
 Alias for array of N GL framebuffer object handles. More...
 
template<std::size_t N>
using eagine::oglp::program_pipeline_name_array = gl_object_name_array< program_pipeline_tag, N >
 Alias for array of N GL program pipeline object handles. More...
 
template<std::size_t N>
using eagine::oglp::program_name_array = gl_object_name_array< program_tag, N >
 Alias for array of N GL program object handles. More...
 
template<std::size_t N>
using eagine::oglp::query_name_array = gl_object_name_array< query_tag, N >
 Alias for array of N GL query object handles. More...
 
template<std::size_t N>
using eagine::oglp::renderbuffer_name_array = gl_object_name_array< renderbuffer_tag, N >
 Alias for array of N GL renderbuffer object handles. More...
 
template<std::size_t N>
using eagine::oglp::sampler_name_array = gl_object_name_array< sampler_tag, N >
 Alias for array of N GL sampler object handles. More...
 
template<std::size_t N>
using eagine::oglp::shader_name_array = gl_object_name_array< shader_tag, N >
 Alias for array of N GL shader object handles. More...
 
template<std::size_t N>
using eagine::oglp::texture_name_array = gl_object_name_array< texture_tag, N >
 Alias for array of N GL texture object handles. More...
 
template<std::size_t N>
using eagine::oglp::transform_feedback_name_array = gl_object_name_array< transform_feedback_tag, N >
 Alias for array of N GL transform feedback object handles. More...
 
template<std::size_t N>
using eagine::oglp::vertex_array_name_array = gl_object_name_array< vertex_array_tag, N >
 Alias for array of N GL vertex array object handles. More...
 
using eagine::oglp::program_resource_location = prog_var_location< EAGINE_ID_V(Resource)>
 Alias for generic shader program resource location wrapper. More...
 
using eagine::oglp::vertex_attrib_location = prog_var_location< EAGINE_ID_V(VertexAttr)>
 Alias for program vertex attribute location wrapper. More...
 
using eagine::oglp::uniform_location = prog_var_location< EAGINE_ID_V(Uniform)>
 Alias for shader program uniform location wrapper. More...
 
using eagine::oglp::subroutine_uniform_location = prog_var_location< EAGINE_ID_V(SubrtUnfrm)>
 Alias for shader program subroutine uniform location wrapper. More...
 
using eagine::oglp::subroutine_location = prog_var_location< EAGINE_ID_V(Subroutine)>
 Alias for shader program subroutine location wrapper. More...
 
using eagine::oglp::frag_data_location = prog_var_location< EAGINE_ID_V(FragData)>
 Alias for shader program fragment data variable location wrapper. More...
 
using eagine::oglp::uniform_block_index = prog_var_location< EAGINE_ID_V(UniformBlk)>
 Alias for shader program uniform block location wrapper. More...
 
using eagine::oglp::shader_storage_block_index = prog_var_location< EAGINE_ID_V(ShdrStrBlk)>
 Alias for program shader storage block location wrapper. More...
 
template<typename Result >
using eagine::oglp::gl_no_result = api_no_result< Result, gl_no_result_info >
 Alias for always-invalid result of a missing GL API function call. More...
 
template<typename Result >
using eagine::oglp::gl_result = api_result< Result, gl_result_info >
 Class wrapping the result of a GL API function call. More...
 
template<typename Result >
using eagine::oglp::gl_opt_result = api_opt_result< Result, gl_result_info >
 Alias for conditionally-valid result of a GL API function call. More...
 
template<typename Result >
using eagine::oglp::gl_combined_result = api_combined_result< Result, gl_result_info >
 Alias for a result that may come from mutiple difference GL API functions. More...
 
using eagine::oglp::gl_api = basic_gl_api< gl_api_traits >
 Alias for the default instantation of basic_gl_api.
 

Functions

template<typename T >
constexpr auto eagine::oglp::data_type_of () noexcept -> data_type
 Returns a data type for the specified C++ type T. More...
 
template<typename T >
constexpr auto eagine::oglp::pixel_data_type_of () noexcept -> pixel_data_type
 Returns a pixel data type for the specified C++ type T. More...
 
template<typename T >
constexpr auto eagine::oglp::sl_data_type_of () noexcept -> sl_data_type
 Returns a shading language data type for the specified C++ type T. More...
 
template<typename T >
constexpr auto eagine::oglp::pixel_format_of () noexcept -> pixel_format
 Returns the default pixel format for the specified C++ type T. More...
 
template<typename T >
constexpr auto eagine::oglp::internal_format_of () noexcept -> pixel_internal_format
 Returns the default pixel internal format for the specified C++ type T. More...
 

Variables

template<typename T >
constexpr const bool eagine::oglp::is_gl_data_type_v
 Trait indicating that T is one of GL basic (pixel) data types.
 

Detailed Description

Typedef Documentation

◆ buffer_name

Alias for GL buffer object handle.

See also
owned_buffer_name

◆ buffer_name_array

template<std::size_t N>
using eagine::oglp::buffer_name_array = typedef gl_object_name_array<buffer_tag, N>

Alias for array of N GL buffer object handles.

See also
buffer_name

◆ egl_opt_result

template<typename Result >
using eagine::eglp::egl_opt_result = typedef api_opt_result<Result, egl_result_info>

Alias for conditionally-valid result of a EGL API function call.

See also
egl_result
egl_no_result

◆ frag_data_location

Alias for shader program fragment data variable location wrapper.

See also
program_resource_location
vertex_attrib_location
uniform_location
subroutine_uniform_location
subroutine_location
uniform_block_index
shader_storage_block_index

◆ framebuffer_name

◆ framebuffer_name_array

template<std::size_t N>
using eagine::oglp::framebuffer_name_array = typedef gl_object_name_array<framebuffer_tag, N>

Alias for array of N GL framebuffer object handles.

See also
framebuffer_name

◆ gl_any_enum_class

Type erasure alias for GL enum classes.

See also
gl_enum_class
gl_bitfield_class
gl_ubyte_class
gl_bool_class

◆ gl_bitfield_class

template<typename Self , identifier_t Id>
using eagine::oglp::gl_bitfield_class = typedef enum_class<Self, gl_types::bitfield_type, EAGINE_ID_V(GL), Id>

Typed wrapper class for GLbitfield constants/values.

See also
gl_enum_class
gl_ubyte_class
gl_bool_class
gl_any_enum_class

This wrapper uses the specified Id to group various GL constants logically belonging together and prevents accidental mismatches and use of GL constanst from unrelated groups. For example using a context attribute bits in place of memory barrier bit constants. Such mismatches result in compilation errors.

◆ gl_bool_class

template<typename Self , identifier_t Id>
using eagine::oglp::gl_bool_class = typedef enum_class<Self, gl_types::bool_type, EAGINE_ID_V(GL), Id>

Typed wrapper class for GLboolean constants/values.

See also
gl_enum_class
gl_bitfield_class
gl_ubyte_class
gl_any_enum_class

◆ gl_combined_result

template<typename Result >
using eagine::oglp::gl_combined_result = typedef api_combined_result<Result, gl_result_info>

Alias for a result that may come from mutiple difference GL API functions.

See also
gl_result
gl_no_result
gl_opt_result

◆ gl_enum_class

template<typename Self , identifier_t Id>
using eagine::oglp::gl_enum_class = typedef enum_class<Self, gl_types::enum_type, EAGINE_ID_V(GL), Id>

Typed wrapper class for GLenum constants/values.

See also
gl_bitfield_class
gl_ubyte_class
gl_bool_class
gl_any_enum_class

This wrapper uses the specified Id to group various GL constants logically belonging together and prevents accidental mismatches and use of GL constants from unrelated groups. For example using a shader type constant in place of texture type constants. Such mismatches result in compilation errors.

◆ gl_no_result

template<typename Result >
using eagine::oglp::gl_no_result = typedef api_no_result<Result, gl_no_result_info>

Alias for always-invalid result of a missing GL API function call.

See also
gl_result
gl_opt_result

◆ gl_object_name

template<typename Tag >
using eagine::oglp::gl_object_name = typedef basic_handle<Tag, gl_types::name_type>

Alias for template wrapping GL object handles.

See also
gl_owned_object_name
gl_object_name_view
gl_object_name_span
gl_object_name_array

◆ gl_object_name_array

template<typename Tag , std::size_t N>
using eagine::oglp::gl_object_name_array = typedef basic_handle_array<gl_object_name<Tag>, N>

Alias for template wrapping an array of GL object handles.

See also
gl_object_name_vector
gl_object_name_span
gl_object_name_view

◆ gl_object_name_span

template<typename Tag >
using eagine::oglp::gl_object_name_span = typedef basic_handle_span<gl_object_name<Tag> >

Alias for template wrapping a mutable span of GL object handles.

See also
gl_object_name_view
gl_object_name_array

◆ gl_object_name_vector

template<typename Tag >
using eagine::oglp::gl_object_name_vector = typedef basic_handle_vector<gl_object_name<Tag> >

Alias for template wrapping a vector of GL object handles.

See also
gl_object_name_array
gl_object_name_span
gl_object_name_view

◆ gl_object_name_view

template<typename Tag >
using eagine::oglp::gl_object_name_view = typedef basic_handle_view<gl_object_name<Tag> >

Alias for template wrapping a const span of GL object handles.

See also
gl_object_name_span
gl_object_name_array

◆ gl_opt_result

template<typename Result >
using eagine::oglp::gl_opt_result = typedef api_opt_result<Result, gl_result_info>

Alias for conditionally-valid result of a GL API function call.

See also
gl_result
gl_opt_result

◆ gl_owned_object_name

template<typename Tag >
using eagine::oglp::gl_owned_object_name = typedef basic_owned_handle<Tag, gl_types::name_type>

Alias for template wrapping owned GL object handles.

See also
gl_object_name

◆ gl_result

template<typename Result >
using eagine::oglp::gl_result = typedef api_result<Result, gl_result_info>

Class wrapping the result of a GL API function call.

See also
gl_no_result
gl_opt_result

◆ gl_ubyte_class

template<typename Self , identifier_t Id>
using eagine::oglp::gl_ubyte_class = typedef enum_class<Self, gl_types::ubyte_type, EAGINE_ID_V(GL), Id>

Typed wrapper class for GLubyte constants/values.

See also
gl_enum_class
gl_bitfield_class
gl_bool_class
gl_any_enum_class

This wrapper uses the specified Id to group various GL constants logically belonging together and prevents accidental mismatches and use of GL constanst from unrelated groups. Such mismatches result in compilation errors.

◆ owned_buffer_name

Alias for owned GL buffer object handle.

See also
buffer_name

◆ owned_framebuffer_name

Alias for owned GL framebuffer object handle.

See also
framebuffer_name
Examples
application/024_overdraw/resources.hpp, and application/025_recursive_cube/resources.hpp.

◆ owned_path_nv_name

Alias for owned GL path object handle.

See also
path_nv_name

◆ owned_program_name

◆ owned_program_pipeline_name

Alias for owned GL program_pipeline object handle.

See also
program_pipeline_name

◆ owned_query_name

Alias for owned GL query object handle.

See also
query_name

◆ owned_renderbuffer_name

Alias for owned GL renderbuffer object handle.

See also
renderbuffer_name
Examples
application/024_overdraw/resources.hpp, and application/025_recursive_cube/resources.hpp.

◆ owned_sampler_name

Alias for owned GL sampler object handle.

See also
sampler_name

◆ owned_shader_name

◆ owned_texture_name

◆ owned_transform_feedback_name

Alias for owned GL transform feedback object handle.

See also
transform_feedback_name

◆ owned_vertex_array_name

◆ path_nv_name

Alias for GL path object handle.

See also
owned_path_nv_name

◆ program_name

Alias for GL program object handle.

See also
owned_program_name

◆ program_name_array

template<std::size_t N>
using eagine::oglp::program_name_array = typedef gl_object_name_array<program_tag, N>

Alias for array of N GL program object handles.

See also
program_name

◆ program_pipeline_name

Alias for GL program pipeline object handle.

See also
owned_program_pipeline_name

◆ program_pipeline_name_array

Alias for array of N GL program pipeline object handles.

See also
program_pipeline_name

◆ program_resource_location

Alias for generic shader program resource location wrapper.

See also
vertex_attrib_location
uniform_location
subroutine_uniform_location
subroutine_location
frag_data_location
uniform_block_index
shader_storage_block_index

◆ query_name

Alias for GL query object handle.

See also
owned_query_name

◆ query_name_array

template<std::size_t N>
using eagine::oglp::query_name_array = typedef gl_object_name_array<query_tag, N>

Alias for array of N GL query object handles.

See also
query_name

◆ renderbuffer_name

Alias for GL renderbuffer object handle.

See also
owned_renderbuffer_name
Examples
application/025_recursive_cube/resources.cpp, and oglplus/020_glfw3_glew_recursive_cube.cpp.

◆ renderbuffer_name_array

Alias for array of N GL renderbuffer object handles.

See also
renderbuffer_name

◆ sampler_name

Alias for GL sampler object handle.

See also
owned_sampler_name

◆ sampler_name_array

template<std::size_t N>
using eagine::oglp::sampler_name_array = typedef gl_object_name_array<sampler_tag, N>

Alias for array of N GL sampler object handles.

See also
sampler_name

◆ shader_name

Alias for GL shader object handle.

See also
owned_shader_name

◆ shader_name_array

template<std::size_t N>
using eagine::oglp::shader_name_array = typedef gl_object_name_array<shader_tag, N>

Alias for array of N GL shader object handles.

See also
shader_name

◆ shader_storage_block_index

Alias for program shader storage block location wrapper.

See also
program_resource_location
vertex_attrib_location
uniform_location
subroutine_uniform_location
subroutine_location
frag_data_location
uniform_block_index
Examples
application/028_compute_particles/resources.cpp, and application/040_metaballs/resources.cpp.

◆ subroutine_location

Alias for shader program subroutine location wrapper.

See also
program_resource_location
vertex_attrib_location
uniform_location
subroutine_uniform_location
frag_data_location
uniform_block_index
shader_storage_block_index

◆ subroutine_uniform_location

Alias for shader program subroutine uniform location wrapper.

See also
program_resource_location
vertex_attrib_location
uniform_location
subroutine_location
frag_data_location
uniform_block_index
shader_storage_block_index

◆ texture_name

Alias for GL texture object handle.

See also
owned_texture_name
Examples
oglplus/020_glfw3_glew_recursive_cube.cpp.

◆ texture_name_array

template<std::size_t N>
using eagine::oglp::texture_name_array = typedef gl_object_name_array<texture_tag, N>

Alias for array of N GL texture object handles.

See also
texture_name

◆ transform_feedback_name

Alias for GL transform feedback object handle.

See also
owned_transform_feedback_name

◆ transform_feedback_name_array

Alias for array of N GL transform feedback object handles.

See also
transform_feedback_name

◆ uniform_block_index

Alias for shader program uniform block location wrapper.

See also
program_resource_location
vertex_attrib_location
uniform_location
subroutine_uniform_location
subroutine_location
frag_data_location
shader_storage_block_index
Examples
application/031_tessellation/resources.hpp.

◆ uniform_location

◆ vertex_array_name

Alias for GL vertex array object handle.

See also
owned_vertex_array_name
Examples
application/000_stencil_shadow/resources.hpp.

◆ vertex_array_name_array

Alias for array of N GL vertex array object handles.

See also
vertex_array_name

◆ vertex_attrib_location

Alias for program vertex attribute location wrapper.

See also
program_resource_location
uniform_location
subroutine_uniform_location
subroutine_location
frag_data_location
uniform_block_index
shader_storage_block_index
Examples
application/000_stencil_shadow/resources.cpp, application/000_stencil_shadow/resources.hpp, application/004_triangle/main.cpp, application/005_pick_triangle/main.cpp, application/006_writing/main.cpp, application/007_cube/main.cpp, application/008_yaml_shape/main.cpp, application/009_json_shape/main.cpp, application/010_newton/main.cpp, application/011_mandelbrot/main.cpp, application/012_atomic_counters/main.cpp, application/014_voronoi/resources.hpp, application/015_worley/resources.hpp, application/016_torus/resources.cpp, application/016_torus/resources.hpp, application/017_occlusion/main.cpp, application/018_uv_map/main.cpp, application/019_scaled_cubes/resources.cpp, application/019_scaled_cubes/resources.hpp, application/020_bezier_patch/resources.cpp, application/020_bezier_patch/resources.hpp, application/021_cel_shading/resources.cpp, application/021_cel_shading/resources.hpp, application/022_single_pass_edges/resources.cpp, application/022_single_pass_edges/resources.hpp, application/023_sketch/resources.cpp, application/023_sketch/resources.hpp, application/024_overdraw/resources.cpp, application/024_overdraw/resources.hpp, application/025_recursive_cube/resources.cpp, application/025_recursive_cube/resources.hpp, application/026_halo/resources.cpp, application/026_halo/resources.hpp, application/028_compute_particles/resources.cpp, application/028_compute_particles/resources.hpp, application/031_tessellation/resources.cpp, application/031_tessellation/resources.hpp, application/032_translucent_arrow/resources.cpp, application/032_translucent_arrow/resources.hpp, application/040_metaballs/resources.cpp, application/040_metaballs/resources.hpp, oglplus/009_glfw3_glew_cube_compat.cpp, oglplus/012_glfw3_glew_cube.cpp, and oglplus/020_glfw3_glew_recursive_cube.cpp.

Function Documentation

◆ data_type_of()

template<typename T >
constexpr auto eagine::oglp::data_type_of ( ) -> data_type
constexprnoexcept

Returns a data type for the specified C++ type T.

See also
sl_data_type_of
pixel_data_type_of

Referenced by eagine::oglp::pixel_data_type_of(), and eagine::oglp::sl_data_type_of().

◆ internal_format_of()

template<typename T >
constexpr auto eagine::oglp::internal_format_of ( ) -> pixel_internal_format
constexprnoexcept

Returns the default pixel internal format for the specified C++ type T.

See also
pixel_data_type_of
pixel_format_of

◆ pixel_data_type_of()

template<typename T >
constexpr auto eagine::oglp::pixel_data_type_of ( ) -> pixel_data_type
constexprnoexcept

Returns a pixel data type for the specified C++ type T.

See also
data_type_of
sl_data_type_of
pixel_format_of
internal_format_of

◆ pixel_format_of()

template<typename T >
constexpr auto eagine::oglp::pixel_format_of ( ) -> pixel_format
constexprnoexcept

Returns the default pixel format for the specified C++ type T.

See also
pixel_data_type_of
internal_format_of

◆ sl_data_type_of()

template<typename T >
constexpr auto eagine::oglp::sl_data_type_of ( ) -> sl_data_type
constexprnoexcept

Returns a shading language data type for the specified C++ type T.

See also
data_type_of
pixel_data_type_of

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).