13 #ifndef OGLPLUS_OBJECT_TYPE_1405022040_HPP
14 #define OGLPLUS_OBJECT_TYPE_1405022040_HPP
26 #include <oglplus/enums/object_type.ipp>
29 #if !OGLPLUS_NO_ENUM_VALUE_NAMES
30 #include <oglplus/enums/object_type_names.ipp>
33 #if !OGLPLUS_ENUM_VALUE_RANGES
34 #include <oglplus/enums/object_type_range.ipp>
37 template <
typename ObjTag>
46 #define OGLPLUS_SPEC_OBJ_TYPE_OPS(TYPE) \
48 struct ObjTypeOps<tag::TYPE> \
50 static oglplus::ObjectType ObjectType(void) \
52 return oglplus::ObjectType::TYPE; \
57 OGLPLUS_SPEC_OBJ_TYPE_OPS(
Buffer)
62 #ifdef GL_PROGRAM_PIPELINE
66 OGLPLUS_SPEC_OBJ_TYPE_OPS(
Program)
69 OGLPLUS_SPEC_OBJ_TYPE_OPS(
Query)
71 #ifdef GL_RENDERBUFFER
75 OGLPLUS_SPEC_OBJ_TYPE_OPS(
Sampler)
78 OGLPLUS_SPEC_OBJ_TYPE_OPS(Shader)
81 OGLPLUS_SPEC_OBJ_TYPE_OPS(
Texture)
83 #ifdef GL_TRANSFORM_FEEDBACK
86 #ifdef GL_VERTEX_ARRAY
90 #undef OGLPLUS_SPEC_OBJ_TYPE_OPS
94 #endif // include guard
Object< TransformFeedbackOps > TransformFeedback
An oglplus_object encapsulating the OpenGL transform feedback functionality.
Definition: transform_feedback.hpp:408
Object< TextureOps > Texture
An oglplus_object encapsulating the texture object functionality.
Definition: texture.hpp:3217
Object< SamplerOps > Sampler
An oglplus_object encapsulating the OpenGL sampler functionality.
Definition: sampler.hpp:877
Enumeration-related declarations.
Object< ProgramPipelineOps > ProgramPipeline
An oglplus_object encapsulating the OpenGL program pipeline functionality.
Definition: program_pipeline.hpp:348
ObjectType
Enumeration of object types.
Definition: type.hpp:25
Object< BufferOps > Buffer
Object< QueryOps > Query
An oglplus_object encapsulating the asynchronous query functionality.
Definition: query.hpp:537
Object< ProgramOps > Program
An oglplus_object encapsulating the program object functionality.
Definition: program.hpp:867
Object< FramebufferOps > Framebuffer
An oglplus_object encapsulating the framebuffer object functionality.
Definition: framebuffer.hpp:733
Object< VertexArrayOps > VertexArray
An oglplus_object encapsulating vertex array object functionality.
Definition: vertex_array.hpp:150
Object< RenderbufferOps > Renderbuffer
An oglplus_object encapsulating the renderbuffer object functionality.
Definition: renderbuffer.hpp:401