Fix "fog" rendering when underwater with Iris

This commit is contained in:
James Seibel
2026-04-23 17:39:40 -05:00
parent 98f6cea86a
commit bf2affa6d1
@@ -180,6 +180,24 @@ public class LodRenderer
renderBufferHandler.buildRenderList(renderParams);
}
boolean renderFog;
Boolean apiFogOverride = Config.Client.Advanced.Graphics.Fog.enableDhFog.getApiValue();
if (apiFogOverride != null)
{
// use whatever the API dictates if set
// (this could cause issues when underwater if a shader or something
// doesn't add their own, but that's relatively unlikely)
renderFog = apiFogOverride;
}
else
{
renderFog = Config.Client.Advanced.Graphics.Fog.enableDhFog.get();
// allow enabling fog when: underwater fog, blind, etc.
// otherwise LODs won't appear correctly
renderFog |= renderParams.vanillaFogEnabled;
}
//endregion
@@ -249,9 +267,8 @@ public class LodRenderer
}
// fog
if (Config.Client.Advanced.Graphics.Fog.enableDhFog.get()
// this is done to fix issues with: underwater fog, blindness effect, etc.
|| renderParams.vanillaFogEnabled)
if (renderFog)
{
profiler.popPush("LOD Fog");
@@ -300,9 +317,7 @@ public class LodRenderer
this.renderTerrain(this.terrainRenderer, renderBufferHandler, renderParams, /*opaquePass*/ false, profiler);
if (Config.Client.Advanced.Graphics.Fog.enableDhFog.get()
// this is done to fix issues with: underwater fog, blindness effect, etc.
|| renderParams.vanillaFogEnabled)
if (renderFog)
{
profiler.popPush("LOD Fog");