From d5d63b2f89939b1960e84a87b17596dc0efea5be Mon Sep 17 00:00:00 2001 From: Nova Date: Tue, 6 Feb 2024 08:59:40 -0500 Subject: [PATCH] fix(fields): ray marching direction normalize --- src/nodes/fields/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nodes/fields/mod.rs b/src/nodes/fields/mod.rs index f82206e..e2cf301 100644 --- a/src/nodes/fields/mod.rs +++ b/src/nodes/fields/mod.rs @@ -87,7 +87,9 @@ pub trait FieldTrait: Send + Sync + 'static { let ray_to_field_matrix = Spatial::space_to_space_matrix(Some(&ray.space), Some(self.spatial_ref())); let mut ray_point = ray_to_field_matrix.transform_point3a(ray.origin.into()); - let ray_direction = ray_to_field_matrix.transform_vector3a(ray.direction.into()); + let ray_direction = ray_to_field_matrix + .transform_vector3a(ray.direction.into()) + .normalize(); while result.ray_steps < MAX_RAY_STEPS && result.ray_length < MAX_RAY_LENGTH { let distance = self.local_distance(ray_point);