#ifndef SCENE_H #define SCENE_H SCENE_H #include #include #include #include "shapes/Shape.h" class Scene { public: Scene(std::map options, const char * filename); ~Scene(); void render(); private: /* private methods */ void load(const char * filename); void renderPixel(int x, int y, unsigned char * pixel); /* rendering parameters */ int m_width; int m_height; int m_multisample_level; std::string m_output_file_name; bool m_verbose; double m_vfov; /* private data */ std::vector m_shapes; Transform m_transform; double m_view_plane_dist; /* framebuffer */ unsigned char * m_data; }; #endif