Describes one interleaved vertex attribute within a VBO.
GLuint index
Shader attribute location (layout(location = N)).
static constexpr int NormalIndex
layout(location = 3) vec3 aNormal
uint32_t offset
Byte offset from the start of one vertex.
GLuint type
GL data type constant (e.g. GL_FLOAT).
static constexpr int BoneWeightsIndex
layout(location = 5) vec4 aBoneWeights
static constexpr int BoneIndicesIndex
layout(location = 4) ivec4 aBoneIndices
static constexpr int ColorIndex
layout(location = 1) vec3 aColor
static constexpr int UVIndex
layout(location = 2) vec2 aUV
GLuint size
Number of components (e.g. 3 for a vec3 position).
static constexpr int PositionIndex
Canonical attribute slot indices — must match the GLSL layout locations.
Complete description of how vertex data is packed in a VBO.
std::vector< VertexElement > elements
Ordered list of vertex attributes.
uint32_t stride
Total byte size of one vertex.