29 lines
570 B
C++
29 lines
570 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 setOwned(bool o);
|
|
Shader *getShader();
|
|
|
|
private:
|
|
bool buffersOwned;
|
|
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
|