VertexDescriptor
Add this in your code:
#include <engine/graphics/3d_graphics/vertex_descriptor.h>
Description
Class that store the data structure of a vertex.
Static methods
GetVertexElementSize
Get the size in bytes of a vertex element.
Parameters:
vertexElement
: Vertex element to check
uint16_t GetVertexElementSize(VertexElement vertexElement)
Code sample:
uint16_t elementSize = VertexDescriptor::GetVertexElementSize(VertexElement::POSITION_32_BITS);
Public methods
AddVertexElement
Add a vertex element to the descriptor.
Parameters:
vertexElement
: Vertex element to add
void AddVertexElement(VertexElement vertexElement)
Code sample:
VertexDescriptor descriptor;
descriptor.AddVertexElement(VertexElement::POSITION_32_BITS);
GetElementFromIndex
Add a vertex element to the descriptor.
Parameters:
index
: Index of the vertex element to get
VertexElement GetElementFromIndex(int32_t index) const
Code sample:
VertexDescriptor descriptor;
descriptor.AddVertexElement(VertexElement::NORMAL_32_BITS);
descriptor.AddVertexElement(VertexElement::POSITION_32_BITS);
VertexElement normalElement = descriptor.GetElementFromIndex(0);
VertexElement positionElement = descriptor.GetElementFromIndex(1);
GetOffsetFromIndex
Get the offset in memory of the vertex element from the index.
Parameters:
index
: Index of the vertex element
uint32_t GetOffsetFromIndex(int32_t index) const
GetPositionIndex
Get the index of the position vertex element.
Return -1 if there is no position vertex element.
```cpp
uint32_t GetPositionIndex() const
GetNormalIndex
Get the index of the normal vertex element.
Return -1 if there is no normal vertex element.
```cpp
uint32_t GetNormalIndex() const
GetUvIndex
Get the index of the UV vertex element.
Return -1 if there is no UV vertex element.
```cpp
uint32_t GetUvIndex() const
GetColorIndex
Get the index of the color vertex element.
Return -1 if there is no color vertex element.
uint32_t GetColorIndex() const
GetPositionOffset
Get the offset in memory of the position vertex element.
Do not use if there is no position vertex element.
uint32_t GetPositionOffset() const
GetNormalOffset
Get the offset in memory of the normal vertex element.
Do not use if there is no normal vertex element.
uint32_t GetNormalOffset() const
GetUvOffset
Get the offset in memory of the UV vertex element.
Do not use if there is no UV vertex element.
uint32_t GetUvOffset() const
GetColorOffset
Get the offset in memory of the color vertex element.
Do not use if there is no color vertex element.
uint32_t GetColorOffset() const
GetVertexElementList
Get the list of all vertex elements.
const std::vector<VertexElementInfo>& GetVertexElementList() const
GetVertexSize
Get the size in byte of a vertex.
uint16_t GetVertexSize() const