2014-10-20 17:09:19 +00:00
|
|
|
#ifndef OBJECT_HH_INCLUDED
|
|
|
|
#define OBJECT_HH_INCLUDED
|
|
|
|
|
|
|
|
#include "entity.hh"
|
|
|
|
#include "model.hh"
|
2014-10-22 22:13:09 +00:00
|
|
|
#include "texture.hh"
|
2014-10-22 22:53:00 +00:00
|
|
|
#include "shader.hh"
|
2014-10-22 22:13:09 +00:00
|
|
|
#include <string>
|
2014-10-20 17:09:19 +00:00
|
|
|
#include <ACGL/Math/Math.hh>
|
2014-10-22 22:13:09 +00:00
|
|
|
#include <ACGL/OpenGL/Managers.hh>
|
|
|
|
#include <ACGL/OpenGL/Objects.hh>
|
2014-10-20 17:09:19 +00:00
|
|
|
|
|
|
|
class Object : Entity {
|
|
|
|
public:
|
2014-10-22 22:13:09 +00:00
|
|
|
Object(Model model, Texture texture, glm::vec3 position, glm::vec3 rotation,
|
2014-10-22 22:53:00 +00:00
|
|
|
glm::vec3 velocity, glm::vec3 angularVelocity, Shader shader);
|
2014-10-20 17:09:19 +00:00
|
|
|
~Object();
|
2014-10-22 22:13:09 +00:00
|
|
|
void render();
|
2014-10-20 17:09:19 +00:00
|
|
|
private:
|
2014-10-22 22:13:09 +00:00
|
|
|
ACGL::OpenGL::SharedVertexArrayObject model;
|
|
|
|
ACGL::OpenGL::SharedTexture2D texture;
|
2014-10-20 17:09:19 +00:00
|
|
|
glm::vec3 velocity;
|
|
|
|
glm::vec3 angularVelocity;
|
2014-10-22 22:13:09 +00:00
|
|
|
ACGL::OpenGL::SharedShaderProgram shader;
|
2014-10-20 17:09:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|