From 9cc008eaf4e1231cb3f6e0147a1ca4b7dc1479dd Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 21 Nov 2022 20:21:08 +0800 Subject: [PATCH] Fixed ghosts of a renderable being rendered when a material is changed --- SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHSuperBatch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHSuperBatch.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHSuperBatch.cpp index 91728d71..ec19691f 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHSuperBatch.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHSuperBatch.cpp @@ -55,7 +55,7 @@ namespace SHADE void SHSuperBatch::Remove(const SHRenderable* renderable) noexcept { - Handle baseMat = renderable->GetMaterial()->GetBaseMaterial(); + Handle baseMat = (renderable->HasMaterialChanged() ? renderable->GetPrevMaterial() : renderable->GetMaterial())->GetBaseMaterial(); const Handle PIPELINE = baseMat->HasPipelineChanged() ? baseMat->GetPrevPipeline() : baseMat->GetPipeline(); // Check if we have a Batch with the same pipeline yet