From 9f98bed4d15b85bd8aae1a6909e4045030fc278e Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 25 Oct 2022 15:11:01 +0800 Subject: [PATCH] Fixed batching renedering the wrong number of instances --- SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp index 24dd76c5..012d9526 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp @@ -310,14 +310,16 @@ namespace SHADE for (auto& subBatch : subBatches) { // Create command + const uint32_t CURR_INSTANCES = static_cast(subBatch.Renderables.size()); drawData.emplace_back(vk::DrawIndexedIndirectCommand { .indexCount = subBatch.Mesh->IndexCount, - .instanceCount = static_cast(subBatch.Renderables.size()), + .instanceCount = CURR_INSTANCES, .firstIndex = subBatch.Mesh->FirstIndex, .vertexOffset = subBatch.Mesh->FirstVertex, - .firstInstance = nextInstanceIndex++ + .firstInstance = nextInstanceIndex }); + nextInstanceIndex += CURR_INSTANCES; // Fill in buffers (CPU) for (auto rendId : subBatch.Renderables) -- 2.40.1