#include "scene.h" #include "glassert.h" #include #include #include "camera.h" #include "entity.h" Scene::~Scene() { for(Entity* e : entities) delete(e); } void Scene::addEntity(Entity* parent, Mesh* mesh, Material* mat) { entities.push_back(new Entity(parent, mesh, mat)); } void Scene::addEntity(Mesh* mesh, Material* mat) { entities.push_back(new Entity(NULL, mesh, mat)); } void Scene::addEntity(Entity* entity) { entities.push_back(entity); } void Scene::drawEntities() { glm::mat4 viewMatrix = camera->getViewMatrix(); glm::mat4 projectionMatrix = camera->getProjectionMatrix(); for(Entity* e : entities) e->draw(viewMatrix, projectionMatrix); } void Scene::setCamera(Camera* myCamera) { camera = myCamera; } Camera* Scene::getCamera() { return camera; }