AUI Framework  master
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
gl::Vao Class Reference

Classes#

struct  Buffer
 

Public Member Functions#

 Vao (const Vao &)=delete
 
const AVector< Buffer > & getBuffers () const noexcept
 
void bind () const noexcept
 
template<typename T>
void insert (GLuint index, AArrayView< T > data, const char *key)
 Creates VBO or modifies existing one.
 
template<typename T>
void insertIfKeyMismatches (GLuint index, AArrayView< T > data, const char *key)
 Creates VBO or modifies existing one, if the key pointer mismatches.
 
void indices (AArrayView< uint32_t > data)
 Uploads VBO indices.
 
void indices (AArrayView< uint16_t > data)
 Uploads VBO indices.
 
void drawArrays (GLenum type, GLsizei count)
 
void drawElements (GLenum type=GL_TRIANGLES)
 Draws buffer. Don't forget to upload indices with indices function/.
 

Static Public Member Functions#

static void unbind () noexcept
 

Member Function Documentation#

◆ drawElements()#

void gl::Vao::drawElements ( GLenum type = GL_TRIANGLES)
Parameters
typePrimitive type

◆ indices() [1/2]#

void gl::Vao::indices ( AArrayView< uint16_t > data)
Parameters
dataindices

◆ indices() [2/2]#

void gl::Vao::indices ( AArrayView< uint32_t > data)
Parameters
dataindices

◆ insert()#

template<typename T>
void gl::Vao::insert ( GLuint index,
AArrayView< T > data,
const char * key )
inline
Parameters
indexindex in VAO
datavertex data
keysee gl::Vao::Buffer::lastModifierKey

◆ insertIfKeyMismatches()#

template<typename T>
void gl::Vao::insertIfKeyMismatches ( GLuint index,
AArrayView< T > data,
const char * key )
inline
Parameters
indexindex in VAO
datavertex data
keysee gl::Vao::Buffer::lastModifierKey