From 2a4bb4be3c694a68dc2ceafc3a3042c8546b2c77 Mon Sep 17 00:00:00 2001 From: Jason Andersen Date: Sat, 28 Dec 2024 09:29:54 -0800 Subject: [PATCH] Fix IMGUI Demo with HDR10 (#997) IMGUI leaves the scissor in a random state. This messes up the color normalization in HDR10, where the scissor needs to include the whole viewport. Restore the scissor after IMGUI is done drawing stuff. --- .../Example_ImGui_Docking/Example_ImGui_Docking.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Samples/Example_ImGui_Docking/Example_ImGui_Docking.cpp b/Samples/Example_ImGui_Docking/Example_ImGui_Docking.cpp index f8c9709ca8..3fef609c5d 100644 --- a/Samples/Example_ImGui_Docking/Example_ImGui_Docking.cpp +++ b/Samples/Example_ImGui_Docking/Example_ImGui_Docking.cpp @@ -347,6 +347,17 @@ void Example_ImGui::Compose(wi::graphics::CommandList cmd) vertexOffset += drawList->VtxBuffer.size(); } + // Restore Scissor + { + Rect scissor; + scissor.left = 0; + scissor.top = 0; + scissor.right = (int32_t)viewport.width; + scissor.bottom = (int32_t)viewport.height; + device->BindScissorRects(1, &scissor, cmd); + + } + //// Update and Render additional Platform Windows //if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable) //{