add 'enable-fog' setting

This commit is contained in:
MihailRis 2026-09-26 19:13:08 +03:00
parent f5de330f3f
commit e467c85adc
4 changed files with 10 additions and 0 deletions

View file

@ -135,6 +135,7 @@ WorldRenderer::WorldRenderer(
debugLines = std::make_unique<DebugLinesRenderer>(level);
cloudsRenderer = std::make_unique<CloudsRenderer>();
keepAlive(observe_setting(settings.graphics.enableFog, dirtySettings));
keepAlive(observe_setting(settings.graphics.advancedRender, dirtySettings));
keepAlive(observe_setting(settings.graphics.shadowsQuality, dirtySettings));
keepAlive(observe_setting(settings.graphics.ssao, dirtySettings));
@ -156,10 +157,12 @@ void WorldRenderer::refreshSettings() {
gbufferPipeline = graphics.advancedRender.get();
int shadowsQuality = graphics.shadowsQuality.get() * gbufferPipeline;
bool enableFog = graphics.enableFog.get();
shadowMapping->setQuality(shadowsQuality);
std::vector<std::string> defines;
if (shadowsQuality != 0) defines.emplace_back("ENABLE_SHADOWS");
if (enableFog) defines.emplace_back("ENABLE_FOG");
if (graphics.ssao.get()) defines.emplace_back("ENABLE_SSAO");
if (gbufferPipeline) defines.emplace_back("ADVANCED_RENDER");