From 9c8797ffd8941d0344e012c6b9a9a61f1a1fca26 Mon Sep 17 00:00:00 2001 From: Nathan Vegdahl Date: Thu, 7 Jul 2016 23:47:44 -0700 Subject: [PATCH] Forgot to do top-level ray splitting. --- src/tracer.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tracer.rs b/src/tracer.rs index 712ae41..e43777f 100644 --- a/src/tracer.rs +++ b/src/tracer.rs @@ -52,7 +52,11 @@ impl<'a> Tracer<'a> { // to them in their function parameters. &mut (*rays_ptr)[..] }; - self.trace_assembly(self.root, wrays, ray_refs); + + let mut ray_sets = split_rays_by_direction(&mut ray_refs[..]); + for ray_set in ray_sets.iter_mut().filter(|ray_set| ray_set.len() > 0) { + self.trace_assembly(self.root, wrays, ray_set); + } return &self.isects; }