summaryrefslogtreecommitdiff
path: root/src/calculus.rs
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-03 15:30:38 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-03 15:30:38 +0700
commitaf169d990391d3301fc1993a65816612d29cb5e1 (patch)
tree368440c4cd773c74ecd1b16f41ac72bedf95081f /src/calculus.rs
parentd1909a30fbe458286e8a4cff86951773a3c64e68 (diff)
upd camera focus
Diffstat (limited to 'src/calculus.rs')
-rw-r--r--src/calculus.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/calculus.rs b/src/calculus.rs
index e59ae56..62253cf 100644
--- a/src/calculus.rs
+++ b/src/calculus.rs
@@ -132,6 +132,20 @@ pub mod calculus {
let r_out_parallel = normal.scalar_mul(-1.0 * f);
r_out_perp.add(&r_out_parallel)
}
+
+ pub fn random_in_unit_disk() -> Self {
+ let mut rng = rand::rng();
+ loop {
+ let p = Vec3::new(
+ rng.random_range(-1.0..1.0),
+ rng.random_range(-1.0..1.0),
+ 0.0
+ );
+ if p.mag_sqr() < 1.0 {
+ return p;
+ }
+ }
+ }
}
pub struct Ray {