From 2873a60775cb9ce808c48ba49d463986447b02f1 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sat, 2 Feb 2019 03:00:48 +0100 Subject: [PATCH] SDK/GraphicsComponent: Fix AABB miscalculation (may occur with 2D objects when depth is zero) --- SDK/src/NDK/Components/GraphicsComponent.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SDK/src/NDK/Components/GraphicsComponent.cpp b/SDK/src/NDK/Components/GraphicsComponent.cpp index 5182e2d2d..ac1029742 100644 --- a/SDK/src/NDK/Components/GraphicsComponent.cpp +++ b/SDK/src/NDK/Components/GraphicsComponent.cpp @@ -297,6 +297,9 @@ namespace Ndk RenderSystem& renderSystem = m_entity->GetWorld()->GetSystem(); m_aabb.Set(-1.f, -1.f, -1.f); + + bool isAabbSet = false; + for (const Renderable& r : m_renderables) { r.boundingVolume = r.renderable->GetBoundingVolume(); @@ -305,10 +308,13 @@ namespace Ndk { r.boundingVolume.Update(r.data.transformMatrix); - if (m_aabb.IsValid()) + if (isAabbSet) m_aabb.ExtendTo(r.boundingVolume.aabb); else + { m_aabb.Set(r.boundingVolume.aabb); + isAabbSet = true; + } } }