#ifndef SCENE_H #define SCENE_H #include "lights.h" #include #include class Entity; class Camera; class Mesh; class Material; class Shader; class Scene { Lights directionnalLights; Lights pointLights; std::vector entities; Camera* camera; public: // main methods Scene() : camera(NULL) {} ~Scene(); void drawAll(); // entities void addEntity(Entity* parent, Mesh* mesh, Material* mat); void addEntity(Mesh* mesh, Material* mat); void addEntity(Entity* entity); // lights void addDirectionnalLight(const glm::vec3 &position, const glm::vec3 &color); void addPointLight(const glm::vec3 &position, const glm::vec3 &color); // camera void setCamera(Camera* myCamera); Camera* getCamera(); }; #endif // SCENE_H