-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScene.h
More file actions
34 lines (26 loc) · 737 Bytes
/
Scene.h
File metadata and controls
34 lines (26 loc) · 737 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
33
34
//
// Created by Filip K on 24/10/16.
//
#ifndef RAYTRACER_CUDA_SCENE_H
#define RAYTRACER_CUDA_SCENE_H
#include <vector>
#include "kernels/Material.h"
#include "Object3d.h"
#include "kernels/Camera.h"
#include "kernels/Sphere2.h"
class Scene {
public:
Scene();
Camera* get_camera() { return camera; }
Triangle* GenerateTriangleArray(int &triangle_count);
float* GenerateTriangles(int &triangle_count);
Material* GenerateMaterialArray(int &material_count);
Sphere* GenerateSphereArray(int &sphere_count);
private:
Camera* camera;
std::vector<Object3d> objects;
std::vector<Sphere> spheres;
std::vector<Material*> materials;
void CreateDefaultScene();
};
#endif //RAYTRACER_CUDA_SCENE_H