13 #ifndef OGLPLUS_DSA_VERTEX_ARRAY_1107121519_HPP
14 #define OGLPLUS_DSA_VERTEX_ARRAY_1107121519_HPP
22 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_5 || GL_ARB_direct_state_access
27 typedef tag::Create Type;
36 :
public ObjZeroOps<tag::DirectState, tag::VertexArray>
46 OGLPLUS_GLFUNC(VertexArrayElementBuffer)(
51 VertexArrayElementBuffer,
66 OGLPLUS_GLFUNC(EnableVertexArrayAttrib)(
71 EnableVertexArrayAttrib,
74 Index(GLuint(location))
86 OGLPLUS_GLFUNC(DisableVertexArrayAttrib)(
91 DisableVertexArrayAttrib,
94 Index(GLuint(location))
101 typedef ObjectOps<tag::DirectState, tag::VertexArray>
110 #endif // GL_ARB_direct_state_access
114 #endif // include guard
Implements operations applicable to named (non-zero) objects.
Definition: wrap_tpl.hpp:45
GLuint GetGLName(ObjectName< ObjTag > named)
Returns the GLuint OpenGL name assigned to named object.
Definition: name.hpp:38
Object< DSAVertexArrayOps > DSAVertexArray
An oglplus_object encapsulating the OpenGL vertex array functionality.
Definition: vertex_array.hpp:108
Implements operations applicable to any object including object 0 (zero)
Definition: fwd.hpp:157
Data type-related declarations.
Type for the vertex attribute slot (implementation-dependent limited) number.
Definition: vertex_attrib_slot.hpp:27
ObjectOps< tag::DirectState, tag::VertexArray > DSAVertexArrayOps
VertexArray operations with direct state access.
Definition: vertex_array.hpp:102
Exception class for GL object-related errors.
Definition: object.hpp:24
ObjectOps & ElementBuffer(BufferName buffer)
Bind buffer to VAO's element buffer binding point.
Definition: vertex_array.hpp:44
const ObjectOps & DisableVertexAttrib(VertexAttribSlot location)
Disable the specified vertex attribute array.
Definition: vertex_array.hpp:84
const ObjectOps & EnableVertexAttrib(VertexAttribSlot location)
Enable the specified vertex attribute array.
Definition: vertex_array.hpp:64
A common template for "named" objects like textures, buffers, etc.
Definition: fwd.hpp:136