Lugdunum  0.1.0
Classes | Public Types | Public Attributes | List of all members
lug::Graphics::Render::Mesh::PrimitiveSet Struct Reference

Describes part of a Mesh. More...

#include <Mesh.hpp>

Collaboration diagram for lug::Graphics::Render::Mesh::PrimitiveSet:
[legend]

Classes

struct  Attribute
 

Public Types

enum  Mode : uint8_t {
  Mode::Points = 0, Mode::Lines = 1, Mode::LineStrip = 3, Mode::Triangles = 4,
  Mode::TriangleStrip = 5, Mode::TriangleFan = 6
}
 Type of the primitive set, defaults to Triangles. More...
 

Public Attributes

enum lug::Graphics::Render::Mesh::PrimitiveSet::Mode Triangles
 
std::vector< Attributeattributes {}
 
Attributeindices {nullptr}
 
Attributeposition {nullptr}
 
Attributenormal {nullptr}
 
std::vector< Attribute * > texCoords {}
 
std::vector< Attribute * > colors {}
 
Attributetangent {nullptr}
 
Resource::SharedPtr< Materialmaterial {nullptr}
 
void * _data {nullptr}
 

Detailed Description

Describes part of a Mesh.

Definition at line 33 of file Mesh.hpp.

Member Enumeration Documentation

◆ Mode

Type of the primitive set, defaults to Triangles.

Enumerator
Points 

Each vertex defines a separate point.

Lines 

The first two vertices define the first segment, with subsequent pairs of vertices each defining one more segment.

LineStrip 

The first vertex specifies the first segment’s start point while the second vertex specifies the first segment’s endpoint and the second segment’s start point.

Triangles 
TriangleStrip 
TriangleFan 

Definition at line 59 of file Mesh.hpp.

Member Data Documentation

◆ Triangles

enum lug::Graphics::Render::Mesh::PrimitiveSet::Mode lug::Graphics::Render::Mesh::PrimitiveSet::Triangles

◆ attributes

std::vector<Attribute> lug::Graphics::Render::Mesh::PrimitiveSet::attributes {}

Definition at line 68 of file Mesh.hpp.

◆ indices

Attribute* lug::Graphics::Render::Mesh::PrimitiveSet::indices {nullptr}

Definition at line 70 of file Mesh.hpp.

◆ position

Attribute* lug::Graphics::Render::Mesh::PrimitiveSet::position {nullptr}

Definition at line 71 of file Mesh.hpp.

◆ normal

Attribute* lug::Graphics::Render::Mesh::PrimitiveSet::normal {nullptr}

Definition at line 72 of file Mesh.hpp.

◆ texCoords

std::vector<Attribute*> lug::Graphics::Render::Mesh::PrimitiveSet::texCoords {}

Definition at line 73 of file Mesh.hpp.

◆ colors

std::vector<Attribute*> lug::Graphics::Render::Mesh::PrimitiveSet::colors {}

Definition at line 74 of file Mesh.hpp.

◆ tangent

Attribute* lug::Graphics::Render::Mesh::PrimitiveSet::tangent {nullptr}

Definition at line 75 of file Mesh.hpp.

◆ material

Resource::SharedPtr<Material> lug::Graphics::Render::Mesh::PrimitiveSet::material {nullptr}

Definition at line 77 of file Mesh.hpp.

◆ _data

void* lug::Graphics::Render::Mesh::PrimitiveSet::_data {nullptr}

Definition at line 79 of file Mesh.hpp.


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