#ifndef RAYCOLOR_H #define RAYCOLOR_H #include "Ray.h" #include "Object.h" #include "Light.h" #include #include // Shoot a ray into a lit scene and collect color information. // // Inputs: // ray ray along which to search // min_t minimum t value to consider (for viewing rays, this is typically at // least the _parametric_ distance of the image plane to the camera) // objects list of objects (shapes) in the scene // lights list of lights in the scene // num_recursive_calls how many times has raycolor been called already // Outputs: // rgb collected color // Returns true iff a hit was found bool raycolor( const Ray & ray, const double min_t, const std::vector< std::shared_ptr > & objects, const std::vector< std::shared_ptr > & lights, const int num_recursive_calls, Eigen::Vector3d & rgb); #endif