Kanzi Framework  3.9.0
Kanzi Engine API
kanzi::MeshVertexAttribute Class Reference

MeshVertexAttribute describes how mesh vertex data is stored in memory. More...

#include <kanzi/core.ui/graphics3d/graphics_enums.hpp>

Inheritance diagram for kanzi::MeshVertexAttribute:
[legend]

Public Member Functions

 MeshVertexAttribute ()
 Constructor. More...
 
 MeshVertexAttribute (string_view name, Semantic semantic, unsigned int semanticIndex, GraphicsDataType dataType, unsigned int dimension, unsigned int offset)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::VertexAttribute
 VertexAttribute ()
 Constructor. More...
 
 VertexAttribute (string_view name, Semantic semantic, unsigned int semanticIndex)
 Constructor. More...
 

Public Attributes

GraphicsDataType dataType
 Attribute data type. More...
 
unsigned int dimension
 Attribute dimension. More...
 
unsigned int offset
 Attribute offset. This equals to offset of previous attribute + the size of it. More...
 
unsigned int stride
 Attribute stride. More...
 
- Public Attributes inherited from kanzi::VertexAttribute
string name
 Name of the attribute. Not currently used. More...
 
Semantic semantic
 Attribute semantic. More...
 
unsigned int semanticIndex
 Semantic index. More...
 

Friends

bool operator!= (const MeshVertexAttribute &attribute1, const MeshVertexAttribute &attribute2)
 
bool operator== (const MeshVertexAttribute &attribute1, const MeshVertexAttribute &attribute2)
 
void swap (MeshVertexAttribute &attribute1, MeshVertexAttribute &attribute2)
 

Additional Inherited Members

- Public Types inherited from kanzi::VertexAttribute
enum  Semantic {
  SemanticPosition, SemanticNormal, SemanticTangent, SemanticTextureCoordinate,
  SemanticColor, SemanticWeight, SemanticMatrixPalette, SemanticCount,
  SemanticCustom, SemanticInvalid
}
 Vertex attribute enumeration for engine. More...
 

Detailed Description

MeshVertexAttribute describes how mesh vertex data is stored in memory.

As MeshVertexAttribute is derived from VertexAttribute, it has name, semantic and semantic index. In addition to those, each mesh attribute has data type, dimension, offset and stride. Together these specify how vertex data is formatted in memory.

Constructor & Destructor Documentation

◆ MeshVertexAttribute() [1/2]

kanzi::MeshVertexAttribute::MeshVertexAttribute ( )
inlineexplicit

Constructor.

◆ MeshVertexAttribute() [2/2]

kanzi::MeshVertexAttribute::MeshVertexAttribute ( string_view  name,
Semantic  semantic,
unsigned int  semanticIndex,
GraphicsDataType  dataType,
unsigned int  dimension,
unsigned int  offset 
)
inlineexplicit

Constructor.

Note
Stride is not valid after constructor, and should be set afterwards.
Parameters
nameName of vertex attribute.
semanticSemantic of vertex attribute.
semanticIndexSemantic index of vertex attribute.
dataTypeDatatype of vertex attribute.
dimensionDimension of vertex attribute.
offsetOffset of vertex attribute.

Friends And Related Function Documentation

◆ swap

void swap ( MeshVertexAttribute attribute1,
MeshVertexAttribute attribute2 
)
friend

◆ operator==

bool operator== ( const MeshVertexAttribute attribute1,
const MeshVertexAttribute attribute2 
)
friend

◆ operator!=

bool operator!= ( const MeshVertexAttribute attribute1,
const MeshVertexAttribute attribute2 
)
friend

Member Data Documentation

◆ dataType

GraphicsDataType kanzi::MeshVertexAttribute::dataType

Attribute data type.

◆ dimension

unsigned int kanzi::MeshVertexAttribute::dimension

Attribute dimension.

◆ offset

unsigned int kanzi::MeshVertexAttribute::offset

Attribute offset. This equals to offset of previous attribute + the size of it.

◆ stride

unsigned int kanzi::MeshVertexAttribute::stride

Attribute stride.


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