33 lines
930 B
Plaintext
33 lines
930 B
Plaintext
#ifndef SCENE_H
|
|
#define SCENE_H
|
|
|
|
#include "common.cuh"
|
|
#include "sphere.cuh"
|
|
#include "render_object.cuh"
|
|
#include "include/helper_math.h"
|
|
|
|
template <class T> class camera;
|
|
|
|
//when we get animations with multiple scenes, we'll make this a virtual function
|
|
//with array of DE objects and cam
|
|
template <class T>
|
|
class scene {
|
|
using T3 = typename vect_t3<T>::vect_t;
|
|
public:
|
|
//__device__ void render(uint8_t *image) { cam.render(); };
|
|
__device__ render_object<T> **get_objs() { return objs; }
|
|
__device__ render_object<T> **get_image() { return image; }
|
|
private:
|
|
camera<T> cam = camera<T>();
|
|
sphere<T> sp1 = sphere<T>(vect_create<T3>(0,0.4,-5));
|
|
sphere<T> sp2 = sphere<T>(vect_create<T3>(0,-0.4,-5));
|
|
protected:
|
|
//idk why I need to specify the size... why can't the compiler figure that out?
|
|
render_object<T> *objs[3] = {&sp1, &sp2, NULL};
|
|
uint8_t *image;
|
|
};
|
|
|
|
#include "camera.cuh"
|
|
|
|
#endif
|