-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScene.hpp
More file actions
32 lines (27 loc) · 758 Bytes
/
Copy pathScene.hpp
File metadata and controls
32 lines (27 loc) · 758 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef SCENE_HPP
#define SCENE_HPP
#include <list>
#include <string>
class Light;
class LightContribution;
#include "Shape.hpp"
#include "Ray.hpp"
#include "Light.hpp"
class Scene {
public:
Scene(std::string name);
void addShape(Shape*);
void addLight(Light*);
Hit generateSceneHit(Ray r, Shape* exclude, fixed32 tLimit);
Hit generateSceneHit(Ray r, Shape* exclude);
Hit generateSceneHit(Ray r);
void generateAllSubshapes();
std::list<LightContribution>* generateLightContributions(Hit h);
Vector3 bgColor = Vector3(.4, .4, .9);
std::string getName();
private:
std::list<Shape*> shapes;
std::list<Light*> lights;
std::string name;
};
#endif