From d253ec1adc61418dcfba1f54ca17fe7c626f78b1 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 15 Apr 2018 02:30:36 +0200 Subject: [PATCH] Sdk/GraphicsComponent: Fix bounding volume when using a local matrix --- SDK/src/NDK/Components/GraphicsComponent.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SDK/src/NDK/Components/GraphicsComponent.cpp b/SDK/src/NDK/Components/GraphicsComponent.cpp index f8b4e468d..f865e749b 100644 --- a/SDK/src/NDK/Components/GraphicsComponent.cpp +++ b/SDK/src/NDK/Components/GraphicsComponent.cpp @@ -277,7 +277,8 @@ namespace Ndk { Nz::Boxf localBox = boundingVolume.obb.localBox; Nz::Vector3f newPos = r.data.localMatrix * localBox.GetPosition(); - Nz::Vector3f newLengths = r.data.localMatrix * localBox.GetLengths(); + Nz::Vector3f newCorner = r.data.localMatrix * (localBox.GetPosition() + localBox.GetLengths()); + Nz::Vector3f newLengths = newCorner - newPos; boundingVolume.Set(Nz::Boxf(newPos.x, newPos.y, newPos.z, newLengths.x, newLengths.y, newLengths.z)); }