nCine::GLVertexArrayObject class

Wraps an OpenGL vertex array object.

Manages the lifetime of a single OpenGL vertex array object (VAO), which captures the set of enabled vertex attribute arrays and their bindings. The currently bound VAO is cached so that redundant glBindVertexArray() calls are skipped.

Public static functions

static auto Unbind() -> bool
Unbinds any vertex array object.

Constructors, destructors, conversion operators

GLVertexArrayObject()
~GLVertexArrayObject()
GLVertexArrayObject(const GLVertexArrayObject&) deleted

Public functions

auto operator=(const GLVertexArrayObject&) -> GLVertexArrayObject& deleted
auto GetGLHandle() const -> GLuint
Returns the OpenGL handle of the vertex array object.
auto Bind() const -> bool
Binds the vertex array object.
void SetObjectLabel(StringView label)
Sets an OpenGL object label for the vertex array object, for debugging.

Function documentation

static bool nCine::GLVertexArrayObject::Unbind()

Unbinds any vertex array object.

Returns true if a glBindVertexArray() call was issued, false if nothing was bound

bool nCine::GLVertexArrayObject::Bind() const

Binds the vertex array object.

Returns true if a glBindVertexArray() call was issued, false if it was already bound