diff --git a/src/RayTracer.cc b/src/RayTracer.cc index e3e225e..d505d56 100644 --- a/src/RayTracer.cc +++ b/src/RayTracer.cc @@ -1,9 +1,17 @@ #include "RayTracer.h" -#include "../external/simpleppm.h" #include "Parser.h" -#include "Scene.h" + +void RayTracer::parse() { + for (auto i = json["output"].begin(); i != json["output"].end(); ++i) + scenes.push_back(Parser::getScene(*i)); +} + +void RayTracer::render() {} + +void RayTracer::output() {} void RayTracer::run() { - nlohmann::json sceneJson = this->json["output"][0]; - Scene *sc = Parser::getScene(sceneJson); + parse(); + render(); + output(); } diff --git a/src/RayTracer.h b/src/RayTracer.h index d356c0e..427a469 100644 --- a/src/RayTracer.h +++ b/src/RayTracer.h @@ -2,6 +2,9 @@ #define RAY_TRACER_H_ #include "../external/json.hpp" +#include "Scene.h" + +#include class RayTracer { public: @@ -10,6 +13,11 @@ public: private: nlohmann::json json; + std::vector scenes; + + void parse(); + void render(); + void output(); }; #endif // !RAY_TRACER_H_