From 3ef8f4d918406eec6bdc29e0ebd883fabfac9b2e Mon Sep 17 00:00:00 2001 From: Julian T Date: Thu, 5 Aug 2021 15:44:40 +0200 Subject: Add picture for c5505ab84820248c6dba35fc06aef9e0ced183de --- src/material/lambertian.rs | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 src/material/lambertian.rs (limited to 'src/material/lambertian.rs') diff --git a/src/material/lambertian.rs b/src/material/lambertian.rs deleted file mode 100644 index 3df6522..0000000 --- a/src/material/lambertian.rs +++ /dev/null @@ -1,38 +0,0 @@ -use super::Material; -use crate::core::{Ray, Spectrum}; -use crate::world::Intersection; -use crate::sample::Sampler; - -use std::rc::Rc; - -pub struct Lambertian { - color: Spectrum, -} - -impl Lambertian { - pub fn new(c: Spectrum) -> Lambertian { - Lambertian { - color: c, - } - } - - pub fn new_rc(c: Spectrum) -> Rc { - Rc::new(Self::new(c)) - } -} - -impl Material for Lambertian { - fn scatter(&self, _: &Ray, i: &Intersection, sampler: &mut dyn Sampler) -> Option<(Spectrum, Ray)> { - let mut newray = Ray { - origin: i.p, - direction: i.n + sampler.get_unit_vector(), - }; - - // Make sure that the resulting direction is not (0, 0, 0) - if newray.direction.near_zero() { - newray.direction = i.n; - } - - Some((self.color, newray)) - } -} -- cgit v1.2.3