/******************************************************************/ /* This file is part of the homework assignments for CSCI-427/527 */ /* at The College of William & Mary and authored by Pieter Peers. */ /* No part of this file, whether altered or in original form, can */ /* be distributed or used outside the context of CSCI-427/527 */ /* without consent of either the College of William & Mary or */ /* Pieter Peers. */ /******************************************************************/ #ifndef _RECURSIVERAYTRACING_H_ #define _RECURSIVERAYTRACING_H_ #include "scene.h" #include "render_base.h" class recursiveRaytracing : public render_base { public: ////////////////// // Constructors // ////////////////// recursiveRaytracing(unsigned int maxDepth, unsigned int samplesPerPixel); ///////////// // Methods // ///////////// virtual image render(const scene& s) const override; private: ///////////////////// // Private Methods // ///////////////////// color traceRay(const scene& s, const ray& r, unsigned int currentDepth) const; ////////////////// // Data Members // ////////////////// unsigned int _depth; unsigned int _samples; }; #endif /* _RECURSIVERAYTRACING_H_ */