diff --git a/.gitmodules b/.gitmodules index add20bf..5915f69 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "src/imgui"] path = src/imgui url = https://github.com/ocornut/imgui.git + branch = docking diff --git a/src/Engine/engine/engine.h b/src/Engine/engine/engine.h index d58986e..9d96044 100644 --- a/src/Engine/engine/engine.h +++ b/src/Engine/engine/engine.h @@ -1068,6 +1068,9 @@ void Engine::initImgui() { ImGui_ImplVulkan_Init(&initInfo); + // Config ImGui + ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_DockingEnable; + _mainDeletionQueue.pushFunction([this, imguiPool]() { ImGui_ImplVulkan_Shutdown(); vkDestroyDescriptorPool( @@ -1132,10 +1135,16 @@ void Engine::buildImgui() { ImGui_ImplVulkan_NewFrame(); ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); + // Docking + ImGui::DockSpaceOverViewport(); // Main ImGui things ImGui::ShowDemoWindow(); + //if(ImGui::Begin("Viewport")) { + + //} + if(ImGui::Begin("Background Shader control")) { ComputeEffect& selected = backgroundEffects[currentBackgroundEffect]; @@ -1151,7 +1160,6 @@ void Engine::buildImgui() { backgroundEffects.size() - 1 ); - ImGui::InputFloat4( "data1", (float*)& selected.data.data1 @@ -1169,6 +1177,7 @@ void Engine::buildImgui() { (float*)& selected.data.data4 ); } + ImGui::End(); // Finish everything diff --git a/src/imgui b/src/imgui index 5220a3f..b48d1af 160000 --- a/src/imgui +++ b/src/imgui @@ -1 +1 @@ -Subproject commit 5220a3f48d39c000da8b46fb0fccf3dd62695c51 +Subproject commit b48d1afbe8ee8b238e2961dc363a949dd7304e23