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

object_name.hpp
Go to the documentation of this file.
1 #ifndef OGLPLUS_GL_API_OBJECT_NAME_HPP
9 #define OGLPLUS_GL_API_OBJECT_NAME_HPP
10 
11 #include "config.hpp"
12 #include <eagine/handle.hpp>
13 #include <eagine/message_id.hpp>
14 
15 namespace eagine::oglp {
16 //------------------------------------------------------------------------------
23 template <typename Tag>
25 
29 template <typename Tag>
31 
36 template <typename Tag>
38 
43 template <typename Tag>
45 
51 template <typename Tag, std::size_t N>
53 
59 template <typename Tag>
61 //------------------------------------------------------------------------------
64 using buffer_tag = EAGINE_MSG_TYPE(gl, Buffer);
65 
68 using framebuffer_tag = EAGINE_MSG_TYPE(gl, Frmebuffer);
69 
72 using program_pipeline_tag = EAGINE_MSG_TYPE(gl, PrgPpline);
73 
76 using program_tag = EAGINE_MSG_TYPE(gl, Program);
77 
80 using query_tag = EAGINE_MSG_TYPE(gl, Query);
81 
84 using renderbuffer_tag = EAGINE_MSG_TYPE(gl, Rndrbuffer);
85 
88 using sampler_tag = EAGINE_MSG_TYPE(gl, Sampler);
89 
92 using shader_tag = EAGINE_MSG_TYPE(gl, Shader);
93 
96 using texture_tag = EAGINE_MSG_TYPE(gl, Texture);
97 
100 using transform_feedback_tag = EAGINE_MSG_TYPE(gl, TransfFdbk);
101 
104 using vertex_array_tag = EAGINE_MSG_TYPE(gl, VertexArry);
105 
108 using path_nv_tag = EAGINE_MSG_TYPE(gl, PathNV);
109 //------------------------------------------------------------------------------
114 
119 
124 
129 
134 
139 
144 
149 
154 
159 
164 
169 //------------------------------------------------------------------------------
174 
179 
184 
189 
194 
199 
204 
209 
214 
220 
225 
230 //------------------------------------------------------------------------------
234 template <std::size_t N>
236 
240 template <std::size_t N>
242 
246 template <std::size_t N>
249 
253 template <std::size_t N>
255 
259 template <std::size_t N>
261 
265 template <std::size_t N>
267 
271 template <std::size_t N>
273 
277 template <std::size_t N>
279 
283 template <std::size_t N>
285 
289 template <std::size_t N>
292 
296 template <std::size_t N>
298 //------------------------------------------------------------------------------
299 } // namespace eagine::oglp
300 
301 #endif // OGLPLUS_GL_API_OBJECT_NAME_HPP
basic_handle_array< gl_object_name< Tag >, N > gl_object_name_array
Alias for template wrapping an array of GL object handles.
Definition: object_name.hpp:52
gl_object_name_array< framebuffer_tag, N > framebuffer_name_array
Alias for array of N GL framebuffer object handles.
Definition: object_name.hpp:241
EAGINE_MSG_TYPE(gl, Sampler) sampler_tag
Tag type denoting GL sampler objects.
Definition: object_name.hpp:88
EAGINE_MSG_TYPE(gl, PrgPpline) program_pipeline_tag
Tag type denoting GL program pipeline objects.
Definition: object_name.hpp:72
basic_handle_view< gl_object_name< Tag > > gl_object_name_view
Alias for template wrapping a const span of GL object handles.
Definition: object_name.hpp:44
gl_object_name_array< buffer_tag, N > buffer_name_array
Alias for array of N GL buffer object handles.
Definition: object_name.hpp:235
EAGINE_MSG_TYPE(gl, Buffer) buffer_tag
Tag type denoting GL buffer objects.
Definition: object_name.hpp:64
EAGINE_MSG_TYPE(gl, Frmebuffer) framebuffer_tag
Tag type denoting GL framebuffer objects.
Definition: object_name.hpp:68
basic_handle_span< gl_object_name< Tag > > gl_object_name_span
Alias for template wrapping a mutable span of GL object handles.
Definition: object_name.hpp:37
EAGINE_MSG_TYPE(gl, TransfFdbk) transform_feedback_tag
Tag type denoting GL transform feedback objects.
Definition: object_name.hpp:100
EAGINE_MSG_TYPE(gl, VertexArry) vertex_array_tag
Tag type denoting GL vertex array objects.
Definition: object_name.hpp:104
basic_handle_container< BasicHandle, std::vector< typename BasicHandle::handle_type > > basic_handle_vector
Alias for basic handle container based on std::vector.
Definition: handle.hpp:208
basic_handle_vector< gl_object_name< Tag > > gl_object_name_vector
Alias for template wrapping a vector of GL object handles.
Definition: object_name.hpp:60
#define EAGINE_MSG_TYPE(API, NAME)
Macro for declaring instantiations of static_message_id.
Definition: message_id.hpp:140
Non-owning wrapper for C-API opaque handle types.
Definition: handle.hpp:26
gl_object_name_array< renderbuffer_tag, N > renderbuffer_name_array
Alias for array of N GL renderbuffer object handles.
Definition: object_name.hpp:266
gl_object_name_array< vertex_array_tag, N > vertex_array_name_array
Alias for array of N GL vertex array object handles.
Definition: object_name.hpp:297
basic_handle_container< BasicHandle, std::array< typename BasicHandle::handle_type, N > > basic_handle_array
Alias for basic handle container based on std::array.
Definition: handle.hpp:198
gl_object_name_array< program_tag, N > program_name_array
Alias for array of N GL program object handles.
Definition: object_name.hpp:254
basic_handle_container< BasicHandle, span< const typename BasicHandle::handle_type > > basic_handle_view
Alias for basic handle container based on const span.
Definition: handle.hpp:188
EAGINE_MSG_TYPE(gl, Query) query_tag
Tag type denoting GL query objects.
Definition: object_name.hpp:80
EAGINE_MSG_TYPE(gl, Rndrbuffer) renderbuffer_tag
Tag type denoting GL renderbuffer objects.
Definition: object_name.hpp:84
EAGINE_MSG_TYPE(gl, Texture) texture_tag
Tag type denoting GL texture objects.
Definition: object_name.hpp:96
gl_object_name_array< shader_tag, N > shader_name_array
Alias for array of N GL shader object handles.
Definition: object_name.hpp:278
gl_object_name_array< query_tag, N > query_name_array
Alias for array of N GL query object handles.
Definition: object_name.hpp:260
gl_object_name_array< sampler_tag, N > sampler_name_array
Alias for array of N GL sampler object handles.
Definition: object_name.hpp:272
gl_object_name_array< transform_feedback_tag, N > transform_feedback_name_array
Alias for array of N GL transform feedback object handles.
Definition: object_name.hpp:291
Owning wrapper for C-API opaque handle types.
Definition: handle.hpp:98
gl_object_name_array< program_pipeline_tag, N > program_pipeline_name_array
Alias for array of N GL program pipeline object handles.
Definition: object_name.hpp:248
EAGINE_MSG_TYPE(gl, Program) program_tag
Tag type denoting GL program objects.
Definition: object_name.hpp:76
basic_handle_container< BasicHandle, span< typename BasicHandle::handle_type > > basic_handle_span
Alias for basic handle container based on non-const span.
Definition: handle.hpp:178
EAGINE_MSG_TYPE(gl, Shader) shader_tag
Tag type denoting GL shader objects.
Definition: object_name.hpp:92
EAGINE_MSG_TYPE(gl, PathNV) path_nv_tag
Tag type denoting GL path objects.
Definition: object_name.hpp:108
gl_object_name_array< texture_tag, N > texture_name_array
Alias for array of N GL texture object handles.
Definition: object_name.hpp:284

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