GLVertexFormat class
#include <nCine/Graphics/GL/GLVertexFormat.h>
Describes the format of a vertex.
Collects all the state that specifies the format of a vertex: a set of Attribute entries (each describing a component count, type, normalization, stride, offset and source VBO) plus an optional index buffer. Define() applies the format to the currently bound program and VAO by issuing the vertex attribute pointer calls, while Reset() disables all attributes.
Public types
- class Attribute
- A single vertex attribute within a vertex format.
Public static variables
-
static std::
uint32_t MaxAttributes constexpr - The minimum guaranteed value for
GL_MAX_VERTEX_ATTRIBS.
Constructors, destructors, conversion operators
- GLVertexFormat()
- GLVertexFormat(const GLVertexFormat& other) defaulted
Public functions
-
auto operator=(const nCine::
GLVertexFormat& other) -> GLVertexFormat& defaulted -
auto GetAttributeCount() const -> std::
uint32_t - Returns the number of attributes in the format.
- auto GetIbo() const -> const GLBufferObject*
- Returns the index buffer object, or
nullptrif none. - void SetIbo(const GLBufferObject* ibo)
- Sets the index buffer object.
- void Define()
- Applies the vertex format to the currently bound program and VAO.
- void Reset()
- Disables all attributes and clears the index buffer.
-
auto operator[](std::
uint32_t index) -> Attribute& - Returns the attribute at the given index.
-
auto operator[](std::
uint32_t index) const -> const Attribute& - Returns the attribute at the given index.
- auto operator==(const GLVertexFormat& other) const -> bool
- auto operator!=(const GLVertexFormat& other) const -> bool