Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
shkyera::Mesh Class Reference

#include <Mesh.hpp>

Classes

class  Factory
 
struct  Vertex
 

Public Member Functions

 Mesh (const std::filesystem::path &path)
 
 Mesh (std::vector< Vertex > vertices, std::vector< uint32_t > indices)
 
 Mesh (const Mesh &other)=delete
 
Meshoperator= (const Mesh &other)=delete
 
 Mesh (Mesh &&other) noexcept
 
Meshoperator= (Mesh &&other) noexcept
 
 ~Mesh ()
 
void bind () const
 
void unbind () const
 
void draw () const
 
AABB getBoundingBox () const
 
GLuint getVAO () const
 
GLuint getVBO () const
 
GLuint getEBO () const
 
GLsizei getMeshSize () const
 

Private Member Functions

void loadFromFile (const std::filesystem::path &filepath)
 
void uploadToGPU ()
 

Private Attributes

std::vector< Vertex_vertices
 
std::vector< uint32_t_indices
 
GLuint _vao
 
GLuint _vbo
 
GLuint _ebo
 
GLsizei _meshSize
 

Constructor & Destructor Documentation

◆ Mesh() [1/4]

shkyera::Mesh::Mesh ( const std::filesystem::path &  path)

◆ Mesh() [2/4]

shkyera::Mesh::Mesh ( std::vector< Vertex vertices,
std::vector< uint32_t indices 
)

◆ Mesh() [3/4]

shkyera::Mesh::Mesh ( const Mesh other)
delete

◆ Mesh() [4/4]

shkyera::Mesh::Mesh ( Mesh &&  other)
noexcept

◆ ~Mesh()

shkyera::Mesh::~Mesh ( )

Member Function Documentation

◆ bind()

void shkyera::Mesh::bind ( ) const
inline

◆ draw()

void shkyera::Mesh::draw ( ) const

◆ getBoundingBox()

AABB shkyera::Mesh::getBoundingBox ( ) const

◆ getEBO()

GLuint shkyera::Mesh::getEBO ( ) const
inline

◆ getMeshSize()

GLsizei shkyera::Mesh::getMeshSize ( ) const
inline

◆ getVAO()

GLuint shkyera::Mesh::getVAO ( ) const
inline

◆ getVBO()

GLuint shkyera::Mesh::getVBO ( ) const
inline

◆ loadFromFile()

void shkyera::Mesh::loadFromFile ( const std::filesystem::path &  filepath)
private

◆ operator=() [1/2]

Mesh & shkyera::Mesh::operator= ( const Mesh other)
delete

◆ operator=() [2/2]

Mesh & shkyera::Mesh::operator= ( Mesh &&  other)
noexcept

◆ unbind()

void shkyera::Mesh::unbind ( ) const
inline

◆ uploadToGPU()

void shkyera::Mesh::uploadToGPU ( )
private

Member Data Documentation

◆ _ebo

GLuint shkyera::Mesh::_ebo
private

◆ _indices

std::vector<uint32_t> shkyera::Mesh::_indices
private

◆ _meshSize

GLsizei shkyera::Mesh::_meshSize
private

◆ _vao

GLuint shkyera::Mesh::_vao
private

◆ _vbo

GLuint shkyera::Mesh::_vbo
private

◆ _vertices

std::vector<Vertex> shkyera::Mesh::_vertices
private

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