Simulant  21.06-50
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
smlt::VertexSpecification Class Reference

Public Member Functions

 VertexSpecification (const VertexSpecification &&rhs)
 
 VertexSpecification (const VertexSpecification &rhs)
 
VertexSpecificationoperator= (const VertexSpecification &rhs)
 
 VertexSpecification (VertexAttribute position, VertexAttribute normal=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord0=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord1=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord2=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord3=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord4=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord5=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord6=VERTEX_ATTRIBUTE_NONE, VertexAttribute texcoord7=VERTEX_ATTRIBUTE_NONE, VertexAttribute diffuse=VERTEX_ATTRIBUTE_NONE, VertexAttribute specular=VERTEX_ATTRIBUTE_NONE)
 
bool operator== (const VertexSpecification &rhs) const
 
bool operator!= (const VertexSpecification &rhs) const
 
uint32_t stride () const
 
bool has_positions () const
 
bool has_normals () const
 
bool has_texcoordX (uint8_t which) const
 
VertexAttribute texcoordX_attribute (uint8_t which) const
 
bool has_texcoord0 () const
 
bool has_texcoord1 () const
 
bool has_texcoord2 () const
 
bool has_texcoord3 () const
 
bool has_texcoord4 () const
 
bool has_texcoord5 () const
 
bool has_texcoord6 () const
 
bool has_texcoord7 () const
 
bool has_diffuse () const
 
bool has_specular () const
 
AttributeOffset position_offset (bool check=true) const
 
AttributeOffset normal_offset (bool check=true) const
 
AttributeOffset texcoord0_offset (bool check=true) const
 
AttributeOffset texcoord1_offset (bool check=true) const
 
AttributeOffset texcoord2_offset (bool check=true) const
 
AttributeOffset texcoord3_offset (bool check=true) const
 
AttributeOffset texcoord4_offset (bool check=true) const
 
AttributeOffset texcoord5_offset (bool check=true) const
 
AttributeOffset texcoord6_offset (bool check=true) const
 
AttributeOffset texcoord7_offset (bool check=true) const
 
AttributeOffset texcoordX_offset (uint8_t which, bool check=true) const
 
AttributeOffset diffuse_offset (bool check=true) const
 
AttributeOffset specular_offset (bool check=true) const
 

Public Attributes

VertexAttributeProperty position_attribute = {this, &VertexSpecification::position_attribute_}
 
VertexAttributeProperty normal_attribute = {this, &VertexSpecification::normal_attribute_}
 
VertexAttributeProperty texcoord0_attribute = {this, &VertexSpecification::texcoord0_attribute_}
 
VertexAttributeProperty texcoord1_attribute = {this, &VertexSpecification::texcoord1_attribute_}
 
VertexAttributeProperty texcoord2_attribute = {this, &VertexSpecification::texcoord2_attribute_}
 
VertexAttributeProperty texcoord3_attribute = {this, &VertexSpecification::texcoord3_attribute_}
 
VertexAttributeProperty texcoord4_attribute = {this, &VertexSpecification::texcoord4_attribute_}
 
VertexAttributeProperty texcoord5_attribute = {this, &VertexSpecification::texcoord5_attribute_}
 
VertexAttributeProperty texcoord6_attribute = {this, &VertexSpecification::texcoord6_attribute_}
 
VertexAttributeProperty texcoord7_attribute = {this, &VertexSpecification::texcoord7_attribute_}
 
VertexAttributeProperty diffuse_attribute = {this, &VertexSpecification::diffuse_attribute_}
 
VertexAttributeProperty specular_attribute = {this, &VertexSpecification::specular_attribute_}
 

Static Public Attributes

static const VertexSpecification DEFAULT
 
static const VertexSpecification POSITION_ONLY
 
static const VertexSpecification POSITION_AND_DIFFUSE
 

Friends

struct std::hash< VertexSpecification >
 
class VertexData
 
class VertexAttributeProperty
 

Member Data Documentation

◆ DEFAULT

const VertexSpecification smlt::VertexSpecification::DEFAULT
static
Initial value:
= VertexSpecification{
VERTEX_ATTRIBUTE_3F,
VERTEX_ATTRIBUTE_3F,
VERTEX_ATTRIBUTE_2F,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_4UB,
VERTEX_ATTRIBUTE_NONE
}

◆ POSITION_AND_DIFFUSE

const VertexSpecification smlt::VertexSpecification::POSITION_AND_DIFFUSE
static
Initial value:
= VertexSpecification{
VERTEX_ATTRIBUTE_3F,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_NONE,
VERTEX_ATTRIBUTE_4UB
}

◆ POSITION_ONLY

const VertexSpecification smlt::VertexSpecification::POSITION_ONLY
static
Initial value:
= VertexSpecification{
VERTEX_ATTRIBUTE_3F
}

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