Add new option for floodfill fog propagation only indoors/caves

This commit is contained in:
Merlin1809
2025-07-21 00:05:22 +02:00
parent ccd6679da7
commit 3cf2a34d1b
9 changed files with 24 additions and 15 deletions
+1 -1
View File
@@ -89,7 +89,7 @@ float linearizeDepthFast(const in float depth, const in float near, const in flo
#define IS_LPV_ENABLED
#if defined LPV_VL_FOG_ILLUMINATION && defined IS_LPV_ENABLED
#if LPV_VL_FOG_ILLUMINATION > 0 && defined IS_LPV_ENABLED
flat varying float exposure;
+2 -2
View File
@@ -8,7 +8,7 @@ flat varying vec3 moonlightCol;
flat varying vec3 averageSkyCol;
flat varying vec3 averageSkyCol_Clouds;
#if defined LPV_VL_FOG_ILLUMINATION && defined IS_LPV_ENABLED
#if LPV_VL_FOG_ILLUMINATION > 0 && defined IS_LPV_ENABLED
flat varying float exposure;
#endif
@@ -86,7 +86,7 @@ void main() {
refractedSunVec = refract(lightCol.a*WsunVec, -vec3(0.0,1.0,0.0), 1.0/1.33333);
#if defined LPV_VL_FOG_ILLUMINATION && defined IS_LPV_ENABLED
#if LPV_VL_FOG_ILLUMINATION > 0 && defined IS_LPV_ENABLED
exposure = texelFetch2D(colortex4,ivec2(10,37),0).r;
#endif
+4 -1
View File
@@ -143,6 +143,9 @@ screen.Direct_Light = Direct Light
option.LPV_COLORED_CANDLES = Colored Candles
option.LPV_NOSHADOW_HACK = Iris <= 1.7.0 Fix
option.LPV_VL_FOG_ILLUMINATION = Fog Light Propagation
value.LPV_VL_FOG_ILLUMINATION.0 = Off
value.LPV_VL_FOG_ILLUMINATION.1 = Only Indoors
value.LPV_VL_FOG_ILLUMINATION.2 = On
option.LPV_VL_FOG_ILLUMINATION_BRIGHTNESS = Fog Light Propagation Brightness
suffix.LPV_VL_FOG_ILLUMINATION_BRIGHTNESS=%
option.VANILLA_LIGHTMAP_MASK = Vanilla Lightmap Mask
@@ -720,7 +723,7 @@ screen.Ambient_light.comment = Configure settings related to the lighting in sha
option.LPV_REDSTONE_LIGHTS.comment = Allows redstone blocks to contribute to colored lighting.
option.LPV_COLORED_CANDLES.comment = Allows colored candles to emit matching colored lighting.
option.LPV_NOSHADOW_HACK.comment = Fix for Iris 1.7.0 and lower! Allows floodfill to work in Nether & End, but disables entity & dropped item lights.
option.LPV_VL_FOG_ILLUMINATION.comment = Allow the colored lighting to light up the air around it.
option.LPV_VL_FOG_ILLUMINATION.comment = Allow the colored lighting to light up the air around it. Enabling it for outdoors may look weird with low fog samples.
option.LPV_VL_FOG_ILLUMINATION_BRIGHTNESS.comment = Configure the brightness of lit up fog.
screen.Resource_Pack_Support.comment = A handfull of effects that use information provided by a resourcepack.
+2 -2
View File
@@ -205,6 +205,7 @@
#define BLOCK_ICE 319
#define BLOCK_NETHER_PORTAL 320
#define BLOCK_SLIME 321
#define BLOCK_ENCHANTING_TABLE 322
#define BLOCK_CARPET 401
#define BLOCK_DOOR_N 402
#define BLOCK_DOOR_E 403
@@ -304,5 +305,4 @@
#define BLOCK_WALL_TALL_W_E_LOW_N_S 496
#define BLOCK_WALL_MAX 496
#define BLOCK_END_PORTAL 500
#define BLOCK_SIGN 501
#define BLOCK_ENCHANTING_TABLE 322
#define BLOCK_SIGN 501
+2 -2
View File
@@ -267,7 +267,7 @@ vec4 GetVolumetricFog(
float lightningflash = texelFetch2D(colortex4,ivec2(1,1),0).x/150.0;
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
float TorchBrightness_autoAdjust = mix(1.0, 30.0, clamp(exp(-10.0*exposure),0.0,1.0)) / 5.0;
#endif
@@ -328,7 +328,7 @@ vec4 GetVolumetricFog(
#endif
//------ LPV FOG EFFECT
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
color += LPV_FOG_ILLUMINATION(progressW-cameraPosition, dd, dL) * TorchBrightness_autoAdjust * absorbance;
#endif
}
+2 -2
View File
@@ -64,7 +64,7 @@ vec4 GetVolumetricFog(
vec3 hazeColor = normalize(gl_Fog.color.rgb + 1e-6) * 0.25;
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
float TorchBrightness_autoAdjust = mix(1.0, 30.0, clamp(exp(-10.0*exposure),0.0,1.0)) / 5.0;
#endif
@@ -120,7 +120,7 @@ vec4 GetVolumetricFog(
#endif
//------ LPV FOG EFFECT
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
color += LPV_FOG_ILLUMINATION(progressW-cameraPosition, dd, dL) * TorchBrightness_autoAdjust * absorbance;
#endif
+9 -3
View File
@@ -161,7 +161,7 @@ vec4 GetVolumetricFog(
float inBiome = BiomeVLFogColors(biomeDirect, biomeIndirect);
#endif
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
float TorchBrightness_autoAdjust = mix(1.0, 30.0, clamp(exp(-10.0*exposure),0.0,1.0)) / 5.0;
#endif
@@ -304,8 +304,14 @@ vec4 GetVolumetricFog(
//------------------------------------
//------ LPV FOG EFFECT
//------------------------------------
#if defined LPV_VL_FOG_ILLUMINATION && defined EXCLUDE_WRITE_TO_LUT
color += LPV_FOG_ILLUMINATION(progressW-cameraPosition, dd, dL) * totalAbsorbance;
#if LPV_VL_FOG_ILLUMINATION > 0 && defined EXCLUDE_WRITE_TO_LUT
vec3 lpvIllumination = LPV_FOG_ILLUMINATION(progressW-cameraPosition, dd, dL) * totalAbsorbance;
#if LPV_VL_FOG_ILLUMINATION == 1
lpvIllumination *= 1.0 - inACave;
#endif
color += lpvIllumination;
#endif
}
+1 -1
View File
@@ -878,7 +878,7 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
#define LPV_ENTITY_LIGHTS
#define LPV_REDSTONE_LIGHTS
//#define LPV_COLORED_CANDLES
//#define LPV_VL_FOG_ILLUMINATION
#define LPV_VL_FOG_ILLUMINATION 0 // [0 1 2]
#define LPV_VL_FOG_ILLUMINATION_BRIGHTNESS 100 // [0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200]]
// Fix for making nether/end work until next Iris release to fix shadow matrices
File diff suppressed because one or more lines are too long