18 #ifndef GLVERTEXARRAYOBJECT_H
19 #define GLVERTEXARRAYOBJECT_H
23 #include "GPU/glvertexbuffer.h"
24 #include "GPU/glelementbuffer.h"
25 #include "GPU/glcustomattributebuffer.h"
55 using IGBufferMap = std::map< uint , IGBuffer *>;
96 void AttachBuffer( uint attribute_id ,
IGBuffer * vbo_buffer );
98 IGBuffer * getAttachBuffer( uint attribute_id );
101 void DrawArrays(
void);
102 void DrawElements(
void);
103 void DrawElementsIndirect (
int index_size ,
int drawcount );
104 void DrawElementsIndirect (
int drawcount );
105 void DrawElementsInstanced(
int drawcount );
116 bool m_vertex_buffer;
117 bool m_element_buffer;
119 IGBufferMap m_buffer_map;
124 #endif // GLVERTEXARRAYOBJECT_H
The AttributeCmd struct.
Definition: glvertexarrayobject.h:44
The DrawElementsCommand struct.
Definition: glvertexarrayobject.h:32
The IGBuffer - Interface class.
Definition: IGBuffer.h:29
void Bind(void)
Bind.
Definition: GLVertexArrayObject.cpp:48
void setDrawMode(GLenum draw_mode)
setDrawMode
Definition: GLVertexArrayObject.cpp:38
The GLVertexBuffer class.
Definition: glvertexbuffer.h:30
void create(void)
create
Definition: GLVertexArrayObject.cpp:43
The GLElementBuffer class.
Definition: glelementbuffer.h:29
void Unbind(void)
Unbind.
Definition: GLVertexArrayObject.cpp:53
The GLVertexArrayObject class.
Definition: glvertexarrayobject.h:60