19 #ifndef OMNI_VISUAL_VERTEXVBO_H_
20 #define OMNI_VISUAL_VERTEXVBO_H_
56 void draw(uint32_t _numIndices,
57 GLuint _drawType = GL_TRIANGLES)
const;
62 template<
typename ... ARGS>
void unbind() const
Unbind buffer.
Definition: VertexVBO.cpp:90
std::unique_ptr< VBO > indexVbo_
Definition: VertexVBO.h:85
A small Vertex Buffer Object class.
Definition: VBO.h:29
VertexVBO()
Definition: VertexVBO.cpp:26
std::vector< uint32_t > index_buffer_type
Index buffer type.
Definition: VertexVBO.h:36
VBO const & indexVbo() const
Return index vertex buffer object.
Definition: VertexVBO.cpp:110
size_t numTriangles() const
Number of triangles = number of indices / 3.
Definition: VertexVBO.h:73
void draw() const
Draw buffer as triangles.
Definition: VertexVBO.cpp:72
void bind() const
Bind buffer for drawing.
Definition: VertexVBO.cpp:60
void bindAndDraw(ARGS &&..._args) const
Definition: VertexVBO.h:63
size_t numIndices() const
Return number of indices in this buffer.
Definition: VertexVBO.cpp:102
std::unique_ptr< VBO > vertexVbo_
Definition: VertexVBO.h:85
Utility class for storing and drawing VBO data.
Definition: VertexVBO.h:30
std::vector< Vertex > vertex_buffer_type
Vertex buffer type.
Definition: VertexVBO.h:33
VBO const & vertexVbo() const
Return vertex vertex buffer object.
Definition: VertexVBO.cpp:106
void buffer(vertex_buffer_type const &_vertices, index_buffer_type const &_indices)
Copy buffers to GPU.
Definition: VertexVBO.cpp:33
size_t numIndices_
Definition: VertexVBO.h:84