OpenGL/headers/mesh.hpp
k 0f9f72af4e improve memory cleanup
still bad tho. we leak a-lot. idrc it's a testing repo.
2025-05-27 22:38:56 -04:00

31 lines
628 B
C++

#ifndef MESH_H
#define MESH_H
#include "camera.hpp"
#include "shader.hpp"
#include <glm/glm.hpp>
#include <glm/gtc/quaternion.hpp>
class Mesh {
public:
Mesh(Shader *s, unsigned int VAO, int count);
~Mesh();
void draw(Camera *c);
void setPosition(glm::vec3 p);
void setScale(glm::vec3 s);
void setRotation(glm::quat r);
void setOwnedBuffers(bool o);
void setOwnedShader(bool o);
Shader *getShader();
private:
bool buffersOwned;
bool shaderOwned;
int count;
unsigned int VAO;
Shader *shader;
glm::vec3 position; /*0,0,0*/
glm::vec3 scale; /*1,1,1*/
glm::quat rotation; /*1,0,0,0*/
};
#endif