#ifndef SCENE_H #define SCENE_H #include "common.cuh" #include "sphere.cuh" #include "render_object.cuh" #include "include/helper_math.h" template 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 scene { using T3 = typename vect_t3::vect_t; public: //__device__ void render(uint8_t *image) { cam.render(); }; __device__ render_object **get_objs() { return objs; } __device__ render_object **get_image() { return image; } private: camera cam = camera(); sphere sp1 = sphere(vect_create(0,0.4,-5)); sphere sp2 = sphere(vect_create(0,-0.4,-5)); protected: //idk why I need to specify the size... why can't the compiler figure that out? render_object *objs[3] = {&sp1, &sp2, NULL}; uint8_t *image; }; #include "camera.cuh" #endif