Line | |
---|
1 | #pragma once
|
---|
2 | #include "PointLight.hpp"
|
---|
3 | #include "SquareLight.hpp"
|
---|
4 | #include "Material.hpp"
|
---|
5 | #include "WoodMaterial.hpp"
|
---|
6 | #include "BoundingBox.hpp"
|
---|
7 | #include "Triangle.hpp"
|
---|
8 | #include "Sphere.hpp"
|
---|
9 | #include "Cylinder.h"
|
---|
10 | #include "PlaneAxisAligned.hpp"
|
---|
11 | #include "TriangleMesh.h"
|
---|
12 | #include "Transformed.h"
|
---|
13 | #include "KDTree.hpp"
|
---|
14 | #include <iostream>
|
---|
15 |
|
---|
16 | class Renderer;
|
---|
17 |
|
---|
18 | class World{
|
---|
19 | // friend class Renderer;
|
---|
20 | public:
|
---|
21 | KDTree* kdtree;
|
---|
22 |
|
---|
23 | Vector eyePosition;
|
---|
24 | Vector lookPosition;
|
---|
25 | Vector upwards;
|
---|
26 | Intersectable** virtualWorldObjects;
|
---|
27 | Vector* virtualWorldVertices;
|
---|
28 | Light** virtualWorldLights;
|
---|
29 | Material** virtualWorldMaterials;
|
---|
30 | int nVirtualWorldObjects;
|
---|
31 | int nVirtualWorldVertices;
|
---|
32 | int nVirtualWorldLights;
|
---|
33 | int nVirtualWorldMaterials;
|
---|
34 | float virtualWorldSummedLightLuminance;
|
---|
35 |
|
---|
36 | int materialArraySize;
|
---|
37 | int objectArraySize;
|
---|
38 | int lightArraySize;
|
---|
39 | public:
|
---|
40 | World();
|
---|
41 | ~World();
|
---|
42 | void createScene();
|
---|
43 | void createScene(Intersectable* obj);
|
---|
44 | void createScene(std::istream& isc);
|
---|
45 | void obliterate();
|
---|
46 |
|
---|
47 | void createEnvironmentMap(std::istream& isc);
|
---|
48 | }; |
---|
Note: See
TracBrowser
for help on using the repository browser.