SPROUT_CONSTEXPR color_type shade_2(Intersection const& inter, Objects const& objs, position_type const& diff, position_type const& direction) const { return shade_3( inter, diff, direction, sprout::darkroom::objects::intersect( objs, sprout::darkroom::rays::make_detached_ray( sprout::darkroom::intersects::point_of_intersection(inter), direction ) ) ); }
SPROUT_CONSTEXPR color_type shade_2(Intersection const& inter, Objects const& objs, position_type const& diff, position_type const& direction) const { return shade_3( inter, diff, direction, sprout::darkroom::objects::intersect_list( objs, sprout::darkroom::rays::make_ray( sprout::darkroom::coords::add( sprout::darkroom::coords::scale( direction, sprout::numeric_limits<unit_type>::epsilon() * 256 ), sprout::darkroom::intersects::point_of_intersection(inter) ), direction ) ) ); }