From d3e46dfda0a4d376c4648ecad5012e2302ddcea6 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 28 Jan 2023 22:16:25 +0900 Subject: 5.6 --- src/rtw/perlin.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/rtw/perlin.zig') diff --git a/src/rtw/perlin.zig b/src/rtw/perlin.zig index b00291f..c60bb34 100644 --- a/src/rtw/perlin.zig +++ b/src/rtw/perlin.zig @@ -78,6 +78,19 @@ pub const Perlin = struct { return perlinInterp(c, u_, v_, w_); } + pub fn turb(perlin: Perlin, p: Point3, depth: u8) f64 { + var accum: f64 = 0.0; + var p_ = p; + var weight: f64 = 1.0; + var i: u8 = 0; + while (i < depth) : (i += 1) { + accum += weight * perlin.noise(p_); + weight *= 0.5; + p_ = p_.mul(2.0); + } + return @fabs(accum); + } + fn permute(rng: Random, p: []usize, n: usize) void { var i = n - 1; while (i > 0) : (i -= 1) { -- cgit v1.2.3-70-g09d2