diff --git a/src/backend/input.rs b/src/backend/input.rs index 0e4d61a..73d6ae9 100644 --- a/src/backend/input.rs +++ b/src/backend/input.rs @@ -443,6 +443,11 @@ impl Pointer { let d = plane.translation.dot(-plane_normal); let dist = -(d + self.pose.translation.dot(plane_normal)) / ray_dir.dot(plane_normal); + if dist < 0.0 { + // plane is behind the caster + return None; + } + let hit_pos = self.pose.translation + ray_dir * dist; Some(RayHit {