39 lines
705 B
C++
39 lines
705 B
C++
#ifndef SCENE_H
|
|
#define SCENE_H
|
|
|
|
#include "mesh.h"
|
|
#include "material.h"
|
|
#include <glew/glew.h>
|
|
|
|
class Camera;
|
|
|
|
class Scene
|
|
{
|
|
typedef struct s_entity
|
|
{
|
|
Material* mat;
|
|
Mesh* mesh;
|
|
s_entity* parent;
|
|
glm::mat4 modelMatrix;
|
|
s_entity(s_entity* myParent, Mesh* myMesh, Material* myMat)
|
|
{
|
|
parent = myParent;
|
|
mesh = myMesh;
|
|
mat = myMat;
|
|
}
|
|
} Entity;
|
|
|
|
// lights
|
|
std::vector<Entity*> entities;
|
|
Camera* camera;
|
|
public:
|
|
Scene();
|
|
~Scene();
|
|
void addEntity(Mesh* mesh, Material* mat);
|
|
void drawEntities();
|
|
void setCamera(Camera* myCamera);
|
|
Camera* getCamera();
|
|
};
|
|
|
|
#endif // SCENE_H
|