minor refactor

This commit is contained in:
MihailRis 2025-07-12 21:45:22 +03:00
parent b04dbd5809
commit a0b8776477
3 changed files with 14 additions and 19 deletions

View File

@ -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
) {

View File

@ -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;

View File

@ -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();