Symphony Of Empires
Eng3D::SimpleModel Struct Reference

A simple object - use these to store "simple" objects that MAY repeat. More...

#include <model.hpp>

Inheritance diagram for Eng3D::SimpleModel:
Collaboration diagram for Eng3D::SimpleModel:

Public Member Functions

 SimpleModel (enum Eng3D::MeshMode _mode)
 
 ~SimpleModel ()=default
 
 SimpleModel (const SimpleModel &)=delete
 
 SimpleModel (SimpleModel &&) noexcept=default
 
SimpleModeloperator= (const SimpleModel &)=delete
 
virtual void draw (const Eng3D::OpenGL::Program &shader, int instances=0) const
 
- Public Member Functions inherited from Eng3D::Mesh< glm::vec3, glm::vec2 >
 Mesh (enum Eng3D::MeshMode _mode)
 
 Mesh (const Mesh &)=delete
 
 Mesh (Mesh &&) noexcept=default
 
virtual ~Mesh ()=default
 
Meshoperator= (const Mesh &)=delete
 
void draw (int instances=0) const
 
virtual void upload () const
 
void instancing (I &instances_buffer, int instances=0)
 Enables instances on this simple mesh. More...
 

Public Attributes

std::shared_ptr< Eng3D::Materialmaterial
 
- Public Attributes inherited from Eng3D::Mesh< glm::vec3, glm::vec2 >
std::vector< DataTypebuffer
 
std::vector< unsigned int > indices
 
enum Eng3D::MeshMode mode
 

Additional Inherited Members

- Public Types inherited from Eng3D::Mesh< glm::vec3, glm::vec2 >
using DataType = Eng3D::MeshData< glm::vec3, glm::vec2, void >
 

Detailed Description

A simple object - use these to store "simple" objects that MAY repeat.

Todo:
We should use instancing tricks on simple objects

Definition at line 53 of file model.hpp.

Constructor & Destructor Documentation

◆ SimpleModel() [1/3]

Eng3D::SimpleModel::SimpleModel ( enum Eng3D::MeshMode  _mode)
inline

Definition at line 54 of file model.hpp.

◆ ~SimpleModel()

Eng3D::SimpleModel::~SimpleModel ( )
default

◆ SimpleModel() [2/3]

Eng3D::SimpleModel::SimpleModel ( const SimpleModel )
delete

◆ SimpleModel() [3/3]

Eng3D::SimpleModel::SimpleModel ( SimpleModel &&  )
defaultnoexcept

Member Function Documentation

◆ draw()

void Eng3D::SimpleModel::draw ( const Eng3D::OpenGL::Program shader,
int  instances = 0 
) const
virtual

Definition at line 52 of file model.cpp.

Here is the call graph for this function:

◆ operator=()

SimpleModel& Eng3D::SimpleModel::operator= ( const SimpleModel )
delete

Member Data Documentation

◆ material

std::shared_ptr<Eng3D::Material> Eng3D::SimpleModel::material

Definition at line 61 of file model.hpp.


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