diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2025-03-03 00:15:55 +0700 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2025-03-03 00:15:55 +0700 |
commit | ab0b3f165788c5d79b2d159aeefda8c8947b68ae (patch) | |
tree | fc19c8105c401685f7668ed663050366338a2d27 /src/camera.rs | |
parent | 7301f5af4fc7cb7bc13a9d559183f2f095de47d0 (diff) |
refactor material
Diffstat (limited to 'src/camera.rs')
-rw-r--r-- | src/camera.rs | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/camera.rs b/src/camera.rs index 4f2469f..1f211de 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -86,18 +86,12 @@ impl Camera { let mut rec = HitRecord::default(); let ray_t = Interval::new(0.001, f32::INFINITY); if world.hit(ray, ray_t, &mut rec) { - // let direction = Vec3::random_on_hemisphere(&rec.normal); - let material = Material::new( - rec.color.clone(), - rec.material.clone(), - rec.fuzz - ); let mut scattered: Ray = Ray { origin: Vec3::random_unit(), direction: Vec3::random_unit(), }; let mut attenuation: Color = Color::new(0.0, 0.0, 0.0); - if material.scatter(ray, &rec, &mut attenuation, &mut scattered) { + if rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered) { return attenuation.elem_prod(&self.ray_color(&mut scattered, &world, depth - 1)); } return Color::new(0.0, 0.0, 0.0); |