summaryrefslogtreecommitdiff
path: root/src/camera.rs
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-03 00:15:55 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-03 00:15:55 +0700
commitab0b3f165788c5d79b2d159aeefda8c8947b68ae (patch)
treefc19c8105c401685f7668ed663050366338a2d27 /src/camera.rs
parent7301f5af4fc7cb7bc13a9d559183f2f095de47d0 (diff)
refactor material
Diffstat (limited to 'src/camera.rs')
-rw-r--r--src/camera.rs8
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);