Example #1
0
				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
								)
							)
						);
				}
Example #2
0
				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
								)
							)
						);
				}