From 4af6f57cc32a3c57ef739bbb9c85eb95dad1edca Mon Sep 17 00:00:00 2001 From: Kamil Lewan Date: Sun, 14 Oct 2018 00:04:51 +0200 Subject: [PATCH 1/3] Add settings struct to `renderer`. --- renderer.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renderer.h b/renderer.h index 0f82e3c3..ab2df34b 100644 --- a/renderer.h +++ b/renderer.h @@ -115,6 +115,12 @@ class opengl_renderer { public: // types + /// Renderer runtime settings. + struct Settings + { + /** Force normal render of traction, when user is in debug mode. */ + bool force_normal_traction_render { false }; + } settings; // constructors opengl_renderer() = default; // destructor From b21ebd80b3f4bcddf45106e73ff8019af4b0a740 Mon Sep 17 00:00:00 2001 From: Kamil Lewan Date: Sat, 13 Oct 2018 23:09:23 +0200 Subject: [PATCH 2/3] Traction wire depends on renderer settings. --- Traction.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Traction.cpp b/Traction.cpp index 82153f60..9a652e31 100644 --- a/Traction.cpp +++ b/Traction.cpp @@ -531,7 +531,8 @@ glm::vec3 TTraction::wire_color() const { glm::vec3 color; - if( false == DebugModeFlag ) { + if( !DebugModeFlag || GfxRenderer.settings.force_normal_traction_render ) + { switch( Material ) { // Ra: kolory podzieliłem przez 2, bo po zmianie ambient za jasne były // trzeba uwzględnić kierunek świecenia Słońca - tylko ze Słońcem widać kolor case 1: { From b81e9e30feb54f192b5bdf1bdcf43501c185d46e Mon Sep 17 00:00:00 2001 From: Kamil Lewan Date: Sat, 13 Oct 2018 23:41:45 +0200 Subject: [PATCH 3/3] Add checkbox in debug pannel. - checkbox to force normal render mode of traction. --- driveruipanels.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/driveruipanels.cpp b/driveruipanels.cpp index 0c9b6605..02e32885 100644 --- a/driveruipanels.cpp +++ b/driveruipanels.cpp @@ -362,6 +362,14 @@ debug_panel::render() { // toggles ImGui::Separator(); ImGui::Checkbox( "Debug Mode", &DebugModeFlag ); + if( DebugModeFlag ) + { + ImGui::Indent(); + ImGui::Checkbox( + "Draw normal traction", + &GfxRenderer.settings.force_normal_traction_render ); + ImGui::Unindent(); + } } ImGui::End(); }