From a0b87764779d277b842c8986139532b8fa246f27 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 12 Jul 2025 21:45:22 +0300 Subject: [PATCH] minor refactor --- src/coders/GLSLExtension.cpp | 8 ++++++++ src/coders/GLSLExtension.hpp | 1 + src/graphics/render/WorldRenderer.cpp | 24 +++++------------------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/coders/GLSLExtension.cpp b/src/coders/GLSLExtension.cpp index 27ec7b63..8105b09e 100644 --- a/src/coders/GLSLExtension.cpp +++ b/src/coders/GLSLExtension.cpp @@ -76,6 +76,14 @@ void GLSLExtension::undefine(const std::string& name) { } } +void GLSLExtension::setDefined(const std::string& name, bool defined) { + if (defined) { + define(name, "TRUE"); + } else { + undefine(name); + } +} + inline std::runtime_error parsing_error( const io::path& file, uint linenum, const std::string& message ) { diff --git a/src/coders/GLSLExtension.hpp b/src/coders/GLSLExtension.hpp index 2d795d2c..b61ca512 100644 --- a/src/coders/GLSLExtension.hpp +++ b/src/coders/GLSLExtension.hpp @@ -22,6 +22,7 @@ public: void define(const std::string& name, std::string value); void undefine(const std::string& name); + void setDefined(const std::string& name, bool defined); void addHeader(const std::string& name, ProcessingResult header); const ProcessingResult& getHeader(const std::string& name) const; diff --git a/src/graphics/render/WorldRenderer.cpp b/src/graphics/render/WorldRenderer.cpp index 7d7bc79f..9a8d1aea 100644 --- a/src/graphics/render/WorldRenderer.cpp +++ b/src/graphics/render/WorldRenderer.cpp @@ -447,30 +447,16 @@ void WorldRenderer::draw( CompileTimeShaderSettings currentSettings { gbufferPipeline, shadows, - settings.graphics.ssao.get() && gbufferPipeline}; + settings.graphics.ssao.get() && gbufferPipeline + }; if ( prevCTShaderSettings.advancedRender != currentSettings.advancedRender || prevCTShaderSettings.shadows != currentSettings.shadows || prevCTShaderSettings.ssao != currentSettings.ssao ) { - if (shadows) { - Shader::preprocessor->define("ENABLE_SHADOWS", "true"); - } else { - Shader::preprocessor->undefine("ENABLE_SHADOWS"); - } - - if (currentSettings.ssao) { - Shader::preprocessor->define("ENABLE_SSAO", "true"); - } else { - Shader::preprocessor->undefine("ENABLE_SSAO"); - } - - if (gbufferPipeline) { - Shader::preprocessor->define("ADVANCED_RENDER", "true"); - } else { - Shader::preprocessor->undefine("ADVANCED_RENDER"); - } - + Shader::preprocessor->setDefined("ENABLE_SHADOWS", currentSettings.shadows); + Shader::preprocessor->setDefined("ENABLE_SSAO", currentSettings.ssao); + Shader::preprocessor->setDefined("ADVANCED_RENDER", currentSettings.advancedRender); mainShader.recompile(); entityShader.recompile(); deferredShader.recompile();