From c9588bf1b5377bc3010b703a6d3503c4ea593266 Mon Sep 17 00:00:00 2001 From: Artur Wasmut <awasmut@uni-koblenz.de> Date: Tue, 21 Sep 2021 17:02:40 +0200 Subject: [PATCH] add imgui to first_scene and read frame time. --- projects/first_scene/CMakeLists.txt | 4 ++-- projects/first_scene/src/main.cpp | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/projects/first_scene/CMakeLists.txt b/projects/first_scene/CMakeLists.txt index ba2f7b1a..21d6857e 100644 --- a/projects/first_scene/CMakeLists.txt +++ b/projects/first_scene/CMakeLists.txt @@ -22,7 +22,7 @@ if(MSVC) endif() # including headers of dependencies and the VkCV framework -target_include_directories(first_scene SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_scene_include} ${vkcv_shader_compiler_include}) +target_include_directories(first_scene SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_scene_include} ${vkcv_shader_compiler_include} ${vkcv_gui_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(first_scene vkcv ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_scene vkcv_shader_compiler) +target_link_libraries(first_scene vkcv ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_scene vkcv_shader_compiler vkcv_gui) diff --git a/projects/first_scene/src/main.cpp b/projects/first_scene/src/main.cpp index 4891fecb..a078776e 100644 --- a/projects/first_scene/src/main.cpp +++ b/projects/first_scene/src/main.cpp @@ -2,6 +2,7 @@ #include <vkcv/Core.hpp> #include <GLFW/glfw3.h> #include <vkcv/camera/CameraManager.hpp> +#include <vkcv/gui/GUI.hpp> #include <chrono> #include <vkcv/asset/asset_loader.hpp> #include <vkcv/shader/GLSLCompiler.hpp> @@ -23,7 +24,9 @@ int main(int argc, const char** argv) { vkcv::Window& window = core.getWindow(windowHandle); vkcv::camera::CameraManager cameraManager(window); - uint32_t camIndex0 = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT); + vkcv::gui::GUI gui (core, windowHandle); + + uint32_t camIndex0 = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT); uint32_t camIndex1 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL); cameraManager.getCamera(camIndex0).setPosition(glm::vec3(-8, 1, -0.5)); @@ -148,6 +151,18 @@ int main(int argc, const char** argv) { core.prepareSwapchainImageForPresent(cmdStream); core.submitCommandStream(cmdStream); + + auto stop = std::chrono::system_clock::now(); + auto kektime = std::chrono::duration_cast<std::chrono::microseconds>(stop - start); + + gui.beginGUI(); + + ImGui::Begin("Settings"); + ImGui::Text("Deltatime %fms, %f", 0.001 * static_cast<double>(kektime.count()), 1/(0.000001 * static_cast<double>(kektime.count()))); + ImGui::End(); + + gui.endGUI(); + core.endFrame(windowHandle); } -- GitLab