2#include "Graphics/shape.h"
28 std::shared_ptr<GraphicsEngine::Shape>
mesh;
31 operator const std::shared_ptr<GraphicsEngine::Shape> &()
const {
return mesh; }
55 Mesh(
const std::string &filepath);
64 glm::vec3
getPos(
int index);
73 static uint64_t the_id;
A wrapper around a shared_ptr to a GraphicsEngine's shape.
Definition: mesh.h:11
GraphicsEngine::VAOAttrib attributes
determines what data holds, whether it's position, normal, uv, or color, or any combination of them.
Definition: mesh.h:13
std::vector< float > data
packed vertex data
Definition: mesh.h:29
Mesh()
Construct a new Mesh object.
Definition: mesh.cpp:13
static int getVertexRange(GraphicsEngine::VAOAttrib attributes)
Get the number of floats needed to store a vertex.
Definition: mesh.cpp:60
int vertexRange
how many floats does it take to store 1 vertex. Varies depending on the attributes chosen....
Definition: mesh.h:14
std::shared_ptr< GraphicsEngine::Shape > mesh
Definition: mesh.h:28
int getTrianglesCnt()
Definition: mesh.cpp:56
glm::vec3 getPos(int index)
Definition: mesh.cpp:50
StandardType
Different types of meshes loaded into the graphics engine.
Definition: mesh.h:20
static auto id_value() -> uint64_t &
Used for assigning new shape name in the graphics engine.
Definition: mesh.h:71