2014-10-20 17:09:19 +00:00
|
|
|
#ifndef OBJECT_HH_INCLUDED
|
|
|
|
#define OBJECT_HH_INCLUDED
|
|
|
|
|
|
|
|
#include "entity.hh"
|
|
|
|
#include "model.hh"
|
2014-11-08 00:17:23 +00:00
|
|
|
#include "material.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
|
|
|
|
2014-10-31 09:38:06 +00:00
|
|
|
class Object : public Entity {
|
2014-10-20 17:09:19 +00:00
|
|
|
public:
|
2014-11-27 23:17:56 +00:00
|
|
|
Object(Model model, Material material,
|
2015-02-07 18:09:49 +00:00
|
|
|
glm::vec3 position, glm::vec3 rotation, bool renderable);
|
2014-11-13 00:22:33 +00:00
|
|
|
Object();
|
2014-10-20 17:09:19 +00:00
|
|
|
~Object();
|
2014-12-15 11:41:30 +00:00
|
|
|
void render(ACGL::OpenGL::SharedShaderProgram shader, bool lightingPass,
|
2015-04-12 19:06:59 +00:00
|
|
|
glm::mat4* viewProjcetionMatrix,
|
2015-03-04 15:08:03 +00:00
|
|
|
std::vector<glm::mat4>* additionalMatrices=0);
|
2015-03-20 22:45:28 +00:00
|
|
|
Material* getMaterial();
|
2014-10-20 17:09:19 +00:00
|
|
|
private:
|
2014-11-13 00:22:33 +00:00
|
|
|
Model model;
|
2014-11-08 00:17:23 +00:00
|
|
|
Material material;
|
2015-02-07 18:09:49 +00:00
|
|
|
bool renderable;
|
2014-10-20 17:09:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|