From cd08d97ac68a4d34550fe0a2e789733ed9d693dc Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sat, 9 Apr 2022 20:00:01 +0200 Subject: [PATCH] Graphics: Fix submesh rendering --- src/Nazara/Graphics/SpriteChainRenderer.cpp | 2 +- src/Nazara/Graphics/SubmeshRenderer.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Nazara/Graphics/SpriteChainRenderer.cpp b/src/Nazara/Graphics/SpriteChainRenderer.cpp index f8a7ba619..ec0315e08 100644 --- a/src/Nazara/Graphics/SpriteChainRenderer.cpp +++ b/src/Nazara/Graphics/SpriteChainRenderer.cpp @@ -81,7 +81,7 @@ namespace Nz if (const RenderPipeline* pipeline = &spriteChain.GetRenderPipeline(); m_pendingData.currentPipeline != pipeline) { - FlushDrawCall(); + FlushDrawData(); m_pendingData.currentPipeline = pipeline; } diff --git a/src/Nazara/Graphics/SubmeshRenderer.cpp b/src/Nazara/Graphics/SubmeshRenderer.cpp index ed3a7143b..7246f394e 100644 --- a/src/Nazara/Graphics/SubmeshRenderer.cpp +++ b/src/Nazara/Graphics/SubmeshRenderer.cpp @@ -65,7 +65,7 @@ namespace Nz if (const MaterialPass* materialPass = &submesh.GetMaterialPass(); currentMaterialPass != materialPass) { - FlushDrawCall(); + FlushDrawData(); currentMaterialPass = materialPass; } @@ -99,19 +99,19 @@ namespace Nz const Recti& targetScissorBox = (scissorBox.width >= 0) ? scissorBox : invalidScissorBox; if (currentScissorBox != targetScissorBox) { - FlushDrawData(); + FlushDrawCall(); currentScissorBox = targetScissorBox; } if (!currentShaderBinding) { - m_bindingCache.clear(); + assert(currentMaterialPass); - const MaterialPass& materialPass = submesh.GetMaterialPass(); - materialPass.FillShaderBinding(m_bindingCache); + m_bindingCache.clear(); + currentMaterialPass->FillShaderBinding(m_bindingCache); // Predefined shader bindings - const auto& matSettings = materialPass.GetSettings(); + const auto& matSettings = currentMaterialPass->GetSettings(); if (std::size_t bindingIndex = matSettings->GetPredefinedBinding(PredefinedShaderBinding::InstanceDataUbo); bindingIndex != MaterialSettings::InvalidIndex) { assert(currentWorldInstance);