From bc5bf8ca7b032c571a0b7ecb548d9da71e3103ec Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Tue, 10 Dec 2024 23:10:16 +0100 Subject: [PATCH] Increase the bounding box for numerical stability --- src/common/rendering/hwrenderer/data/hw_collision.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/common/rendering/hwrenderer/data/hw_collision.cpp b/src/common/rendering/hwrenderer/data/hw_collision.cpp index 9f29dbabb..4a2589fdf 100644 --- a/src/common/rendering/hwrenderer/data/hw_collision.cpp +++ b/src/common/rendering/hwrenderer/data/hw_collision.cpp @@ -561,6 +561,14 @@ int CPUBottomLevelAccelStruct::Subdivide(int *triangles, int num_triangles, cons } median /= (float)num_triangles; + // For numerical stability + min.X -= 0.1f; + min.Y -= 0.1f; + min.Z -= 0.1f; + max.X += 0.1f; + max.Y += 0.1f; + max.Z += 0.1f; + if (num_triangles == 1) // Leaf node { nodes.push_back(Node(min, max, triangles[0] * 3));