From 7bb1ee00745ebcd420125505a009cfe83c4b9f95 Mon Sep 17 00:00:00 2001 From: kj16609 Date: Fri, 8 Mar 2024 13:47:31 -0500 Subject: [PATCH] Allow for disabling ImGui --- src/engine/CMakeLists.txt | 19 +++++++---- src/engine/EngineContext.cpp | 2 ++ src/engine/debug/drawers.hpp | 63 +++++++++++++++++++++++------------- 3 files changed, 56 insertions(+), 28 deletions(-) diff --git a/src/engine/CMakeLists.txt b/src/engine/CMakeLists.txt index 951d064..44eec99 100644 --- a/src/engine/CMakeLists.txt +++ b/src/engine/CMakeLists.txt @@ -34,12 +34,19 @@ target_include_directories(FGLEngine PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..) set_target_properties(FGLEngine PROPERTIES COMPILE_FLAGS ${FGL_FLAGS}) string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_UPPER_BUILD_TYPE) -if (CMAKE_UPPER_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_UPPER_BUILD_TYPE STREQUAL "RELWITHDEBINFO") - target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI=1) - target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI_DRAWERS=1) -else () - target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI=0) - target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI_DRAWERS=0) + +if (NOT DEFINED FORCE_DISABLE_IMGUI) + set(FORCE_DISABLE_IMGUI 0) +endif () + +if (FORCE_DISABLE_IMGUI EQUAL 0) + if (CMAKE_UPPER_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_UPPER_BUILD_TYPE STREQUAL "RELWITHDEBINFO") + target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI=1) + target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI_DRAWERS=1) + else () + target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI=0) + target_compile_definitions(FGLEngine PRIVATE ENABLE_IMGUI_DRAWERS=0) + endif () endif () #target_compile_definitions(FGLEngine PRIVATE GLM_FORCE_INLINE=1) diff --git a/src/engine/EngineContext.cpp b/src/engine/EngineContext.cpp index 0ca1a3e..737ee25 100644 --- a/src/engine/EngineContext.cpp +++ b/src/engine/EngineContext.cpp @@ -139,9 +139,11 @@ namespace fgl::engine #if ENABLE_IMGUI { + std::cout << "Starting ImGui frame" << std::endl; ImGui_ImplVulkan_NewFrame(); ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); + std::cout << "Started ImGui frame" << std::endl; } #endif diff --git a/src/engine/debug/drawers.hpp b/src/engine/debug/drawers.hpp index 688a825..9919ca0 100644 --- a/src/engine/debug/drawers.hpp +++ b/src/engine/debug/drawers.hpp @@ -118,61 +118,80 @@ namespace fgl::engine::debug namespace fgl::engine::debug { - inline void setDebugDrawingCamera( Camera& cam ) + inline void setDebugDrawingCamera( [[maybe_unused]] Camera& cam ) {} namespace world { //Dummy functions - inline void drawBoundingBox( const OrientedBoundingBox< CoordinateSpace::World >&, const glm::vec3 ) + inline void drawBoundingBox( + [[maybe_unused]] const OrientedBoundingBox< CoordinateSpace::World >&, [[maybe_unused]] const glm::vec3 ) {} - inline void drawBoundingBox( const OrientedBoundingBox< CoordinateSpace::World >& ) + inline void drawBoundingBox( [[maybe_unused]] const OrientedBoundingBox< CoordinateSpace::World >& ) {} inline void drawLine( - const Coordinate< CoordinateSpace::World >, - const Coordinate< CoordinateSpace::World >, - const glm::vec3, - const float ) + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] const glm::vec3, + [[maybe_unused]] const float ) {} - inline void drawPointLabel( const Coordinate< CoordinateSpace::World >, const std::string ) + inline void drawPointLabel( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, [[maybe_unused]] const std::string ) {} - inline void drawLine( const Line< CoordinateSpace::World >, const glm::vec3, const float ) + inline void drawLine( + [[maybe_unused]] const Line< CoordinateSpace::World >, + [[maybe_unused]] const glm::vec3, + [[maybe_unused]] const float ) {} - inline void drawPointText( const Coordinate< CoordinateSpace::World >, const glm::vec3 ) + inline void drawPointText( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, [[maybe_unused]] const glm::vec3 ) {} - inline void - drawBoolAlpha( const Coordinate< CoordinateSpace::World >, const Camera&, const bool, const glm::vec2 ) + inline void drawBoolAlpha( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] const Camera&, + [[maybe_unused]] const bool, + [[maybe_unused]] const glm::vec2 ) {} - inline void drawPoint( const Coordinate< CoordinateSpace::World >, const std::string, const glm::vec3 ) + inline void drawPoint( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] const std::string, + [[maybe_unused]] const glm::vec3 ) {} - inline void drawVector( const Coordinate< CoordinateSpace::World >, Vector, const std::string, const glm::vec3 ) + inline void drawVector( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] Vector, + [[maybe_unused]] const std::string, + [[maybe_unused]] const glm::vec3 ) {} - inline void - drawVector( const Coordinate< CoordinateSpace::World >, NormalVector, const std::string, const glm::vec3 ) + inline void drawVector( + [[maybe_unused]] const Coordinate< CoordinateSpace::World >, + [[maybe_unused]] NormalVector, + [[maybe_unused]] const std::string, + [[maybe_unused]] const glm::vec3 ) {} - inline void drawFrustum( const Frustum< CoordinateSpace::World >&, const WorldCoordinate ) + inline void drawFrustum( + [[maybe_unused]] const Frustum< CoordinateSpace::World >&, [[maybe_unused]] const WorldCoordinate ) {} inline void drawFrustum() {} inline void drawPlane( - const Plane< CoordinateSpace::World >&, - const WorldCoordinate, - - const std::string, - const glm::vec3 ) + [[maybe_unused]] const Plane< CoordinateSpace::World >&, + [[maybe_unused]] const WorldCoordinate, + [[maybe_unused]] const std::string, + [[maybe_unused]] const glm::vec3 ) {} } // namespace world