/* * Created by Brett Terpstra 6920201 on 03/12/22. * Copyright (c) 2022 Brett Terpstra. All Rights Reserved. * * contains the opencl raytracing code. The file name is a pun (I hope that was implied otherwise I guess I'm lame) */ #ifndef STEP_3_OPEN_RAY_TRACING_H #define STEP_3_OPEN_RAY_TRACING_H #include #include #include #include #include #include #ifdef COMPILE_OPENCL #include namespace Raytracing { class OpenClRaytracer { private: CLProgram* program; Image& image; size_t localWorks[2]{8, 8}; public: OpenClRaytracer(const std::string& programLocation, Image& image, World& world); ~OpenClRaytracer(); void storeObjects(const std::vector& objects, size_t totalWorldBytes); void run(); }; } #endif #endif //STEP_3_OPEN_RAY_TRACING_H