aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main.zig
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2022-11-27 15:14:44 +0900
committernsfisis <nsfisis@gmail.com>2022-11-27 15:14:44 +0900
commitcb8ebeee35d64d7e8dbc767e814bb99d80017857 (patch)
treea1e8dc66239574c1ea9636b2a14b2d123afcbb86 /src/main.zig
parent8cc3e2ada26af6a45e577b9c7ffffb0bc795b7d3 (diff)
downloadRayTracingInOneWeekend.zig-cb8ebeee35d64d7e8dbc767e814bb99d80017857.tar.gz
RayTracingInOneWeekend.zig-cb8ebeee35d64d7e8dbc767e814bb99d80017857.tar.zst
RayTracingInOneWeekend.zig-cb8ebeee35d64d7e8dbc767e814bb99d80017857.zip
8.5
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main.zig b/src/main.zig
index 7e78372..6149c49 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -99,6 +99,10 @@ fn randomPointInUnitSphere(rand: std.rand.Random) Vec3 {
}
}
+fn randomUnitVector(rand: std.rand.Random) Vec3 {
+ return randomPointInUnitSphere(rand).normalized();
+}
+
const Point3 = Vec3;
const Color = Vec3;
@@ -252,7 +256,7 @@ fn rayColor(r: Ray, world: Hittable, rand: std.rand.Random, depth: u32) Color {
return Color{ .x = 0.0, .y = 0.0, .z = 0.0 };
}
if (world.hit(r, 0.001, inf, &rec)) {
- const target = rec.p.add(rec.normal).add(randomPointInUnitSphere(rand));
+ const target = rec.p.add(rec.normal).add(randomUnitVector(rand));
return rayColor(Ray{ .origin = rec.p, .dir = target.sub(rec.p) }, world, rand, depth - 1).mul(0.5);
}
const unit_dir = r.dir.normalized();