From 8b149bf8f43e0f1b4185517289b039c09ffb70b2 Mon Sep 17 00:00:00 2001 From: Attila Uygun Date: Thu, 2 Nov 2023 21:48:39 +0100 Subject: [PATCH] Fix for flickering imgui when switching renderer Use the geometry from last frame in ImguiBackend::CreateRenderResources if available. --- src/engine/imgui_backend.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/imgui_backend.cc b/src/engine/imgui_backend.cc index 969694c..c70939e 100644 --- a/src/engine/imgui_backend.cc +++ b/src/engine/imgui_backend.cc @@ -80,7 +80,10 @@ void ImguiBackend::Shutdown() { void ImguiBackend::CreateRenderResources(Renderer* renderer) { renderer_ = renderer; shader_->SetRenderer(renderer); + geometries_.clear(); + if (ImGui::GetCurrentContext() && ImGui::GetDrawData()) + Render(); auto source = std::make_unique(); if (source->Load("engine/imgui.glsl")) {