13 #ifndef OGLPLUS_DSA_VERTEX_ATTRIB_1107121519_HPP
14 #define OGLPLUS_DSA_VERTEX_ATTRIB_1107121519_HPP
21 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_5 || GL_ARB_direct_state_access
23 class DSAVertexArrayAttrib
24 :
public ProgVarCommonOps<tag::VertexAttrib>
36 VertexAttribSlot location
37 ): ProgVarCommonOps<tag::VertexAttrib>(VertexAttribLoc(GLint(location)))
50 ): ProgVarCommonOps<tag::VertexAttrib>(VertexAttribLoc(program, identifier))
59 const DSAVertexArrayAttrib&
Enable(
void)
const
61 OGLPLUS_GLFUNC(EnableVertexArrayAttrib)(
65 OGLPLUS_CHECK_SIMPLE(EnableVertexArrayAttrib);
74 const DSAVertexArrayAttrib& Disable(
void)
const
76 OGLPLUS_GLFUNC(DisableVertexArrayAttrib)(
80 OGLPLUS_CHECK_SIMPLE(DisableVertexArrayAttrib);
85 const DSAVertexArrayAttrib& VertexBuffer(
91 OGLPLUS_GLFUNC(VertexArrayVertexBuffer)(
99 VertexArrayVertexBuffer,
102 Object(VertexArrayName(_vao))
112 const DSAVertexArrayAttrib&
Format(
113 GLint values_per_vertex,
116 GLuint relative_offset
119 OGLPLUS_GLFUNC(VertexArrayAttribFormat)(
124 normalized ? GL_TRUE : GL_FALSE,
128 VertexArrayAttribFormat,
130 Object(VertexArrayName(_vao)).
141 const DSAVertexArrayAttrib& IFormat(
142 GLint values_per_vertex,
144 GLuint relative_offset
147 OGLPLUS_GLFUNC(VertexArrayAttribIFormat)(
155 VertexArrayAttribIFormat,
157 Object(VertexArrayName(_vao)).
168 const DSAVertexArrayAttrib& LFormat(
169 GLint values_per_vertex,
171 GLuint relative_offset
174 OGLPLUS_GLFUNC(VertexArrayAttribLFormat)(
182 VertexArrayAttribLFormat,
184 Object(VertexArrayName(_vao)).
191 #endif // GL_ARB_direct_state_access
195 #endif // include guard
DataType
OpenGL data type enumeration.
Definition: data_type.hpp:34
Declaration of OGLplus object-related error.
GLuint GetGLName(ObjectName< ObjTag > named)
Returns the GLuint OpenGL name assigned to named object.
Definition: name.hpp:38
String const reference wrapper template.
Definition: ref_tpl.hpp:72
PixelDataFormat Format
Alias for PixelDataFormat.
Definition: pixel_data.hpp:66