sculpto
Public Member Functions | Protected Attributes | List of all members
scl::vertex_layout Class Reference

#include <vertex.h>

Public Member Functions

const std::vector< vertex_element > & GetElements () const
 
u32 GetSize () const
 
size_t GetCount () const
 
std::vector< vertex_element >::iterator begin ()
 
std::vector< vertex_element >::iterator end ()
 
std::vector< vertex_element >::const_iterator begin () const
 
std::vector< vertex_element >::const_iterator end () const
 
 vertex_layout ()=default
 
 vertex_layout (const std::initializer_list< vertex_element > &Elements)
 

Protected Attributes

std::vector< vertex_elementElements {}
 
u32 Size {}
 

Detailed Description

Vertex layout structure. Represent data for one single vertex.

Definition at line 36 of file vertex.h.

Constructor & Destructor Documentation

◆ vertex_layout() [1/2]

scl::vertex_layout::vertex_layout ( )
default

Vertex layout default constructor.

◆ vertex_layout() [2/2]

scl::vertex_layout::vertex_layout ( const std::initializer_list< vertex_element > &  Elements)
inline
  • Vertex layout default constructor.
Parameters
Elements- array of vertex layout elements.

Definition at line 64 of file vertex.h.

64 :
66 {
67 // Calculating index and offset of each element
68 u32 offset = 0;
69 for (int i = 0; i < Elements.size(); i++)
70 {
71 this->Elements[i].Index = i;
72 this->Elements[i].Offset = offset;
73 offset += this->Elements[i].Size;
74 }
75 Size = offset;
76 }
std::vector< vertex_element > Elements
Definition: vertex.h:39
uint32_t u32
Definition: math_common.h:21

Member Function Documentation

◆ begin() [1/2]

std::vector< vertex_element >::iterator scl::vertex_layout::begin ( )
inline

Definition at line 50 of file vertex.h.

50{ return Elements.begin(); }

◆ begin() [2/2]

std::vector< vertex_element >::const_iterator scl::vertex_layout::begin ( ) const
inline

Definition at line 52 of file vertex.h.

52{ return Elements.begin(); }

◆ end() [1/2]

std::vector< vertex_element >::iterator scl::vertex_layout::end ( )
inline

Definition at line 51 of file vertex.h.

51{ return Elements.end(); }

◆ end() [2/2]

std::vector< vertex_element >::const_iterator scl::vertex_layout::end ( ) const
inline

Definition at line 53 of file vertex.h.

53{ return Elements.end(); }

◆ GetCount()

size_t scl::vertex_layout::GetCount ( ) const
inline

Vertex layout elements count getter function.

Definition at line 48 of file vertex.h.

48{ return Elements.size(); }

◆ GetElements()

const std::vector< vertex_element > & scl::vertex_layout::GetElements ( ) const
inline

Vertex layout getter/setter functions.

Vertex layout elements getter function.

Definition at line 44 of file vertex.h.

44{ return Elements; }

◆ GetSize()

u32 scl::vertex_layout::GetSize ( ) const
inline

Vertex layout size (vertex size) getter function.

Definition at line 46 of file vertex.h.

46{ return Size; }

Member Data Documentation

◆ Elements

std::vector<vertex_element> scl::vertex_layout::Elements {}
protected

Vertex layout data.

Definition at line 39 of file vertex.h.

◆ Size

u32 scl::vertex_layout::Size {}
protected

Definition at line 40 of file vertex.h.


The documentation for this class was generated from the following file: