diff --git a/shaders/dimensions/composite1.fsh b/shaders/dimensions/composite1.fsh index 8c8bdab..251ad93 100644 --- a/shaders/dimensions/composite1.fsh +++ b/shaders/dimensions/composite1.fsh @@ -182,6 +182,7 @@ float convertHandDepth_2(in float depth, bool hand) { #include "/lib/diffuse_lighting.glsl" #include "/lib/end_fog.glsl" #include "/lib/DistantHorizons_projections.glsl" +#include "/lib/water_absorbance_effects.glsl" float ld(float dist) { return (2.0 * near) / (far + near - dist * (far - near)); @@ -912,8 +913,8 @@ void main() { vec3 viewPos = toScreenSpace(vec3(texcoord/RENDER_SCALE - taaJitter*texelSize*0.5, z)); #endif - vec3 feetPlayerPos = mat3(gbufferModelViewInverse) * viewPos; - vec3 feetPlayerPos_normalized = normalize(feetPlayerPos); + vec3 feetPlayerPos = mat3(gbufferModelViewInverse) * viewPos + gbufferModelViewInverse[3].xyz; + vec3 feetPlayerPos_normalized = normalize(feetPlayerPos ); #ifdef POM #ifdef Horrible_slope_normals @@ -971,95 +972,23 @@ void main() { //////////////////////////////// UNDER WATER SHADING //////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// - if ((isEyeInWater == 0 && isWater) || (isEyeInWater == 1 && !isWater)){ - - feetPlayerPos += gbufferModelViewInverse[3].xyz; - + #ifdef USING_LOD_MOD vec3 playerPos0 = mat3(gbufferModelViewInverse) * toScreenSpace_DH(texcoord/RENDER_SCALE-taaJitter*texelSize*0.5, z0, DH_depth0) + gbufferModelViewInverse[3].xyz; #else vec3 playerPos0 = mat3(gbufferModelViewInverse) * toScreenSpace(vec3(texcoord/RENDER_SCALE-taaJitter*texelSize*0.5,z0)) + gbufferModelViewInverse[3].xyz; #endif - float Vdiff = distance(feetPlayerPos, playerPos0); - float estimatedDepth = Vdiff* abs(feetPlayerPos_normalized.y);// assuming water plane - - - // vec3 waterNormal = clamp(normalize(cross(dFdx(playerPos0), dFdy(playerPos0))),-1,1); // it uses depth that has POM written to it. - // vec3 absPlayerPosNorm = abs(feetPlayerPos_normalized); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.y, max(waterNormal.y,0)); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.y, max(-waterNormal.y,0)); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.z, max(waterNormal.z,0)); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.z, max(-waterNormal.z,0)); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.x, max(waterNormal.x,0)); - // estimatedDepth = mix(estimatedDepth, Vdiff*absPlayerPosNorm.x, max(-waterNormal.x,0)); - - // force the absorbance to start way closer to the water surface in low light areas, so the water is visible in caves and such. - #if MINIMUM_WATER_ABSORBANCE > -1 - float minimumAbsorbance = MINIMUM_WATER_ABSORBANCE*0.1; - #else - float minimumAbsorbance = (1.0 - lightLeakFix); - #endif - - Absorbtion = exp(-totEpsilon * max(Vdiff, minimumAbsorbance)); - - // things to note about sunlight in water - // sunlight gets absorbed by water on the way down to the floor, and on the way back up to your eye. im gonna ingore the latter part lol - // based on the angle of the sun, sunlight will travel through more/less water to reach the same spot. scale absorbtion depth accordingly - vec3 sunlightAbsorbtion = exp(-totEpsilon * (estimatedDepth/abs(WsunVec.y))); - float percievedWaterDepth = estimatedDepth; - - - if (isEyeInWater == 1){ - - estimatedDepth = 1.0; - - // viewerWaterDepth = max(0.9-lightmap.y,0.0)*3.0; - float distanceFromWaterSurface = -(feetPlayerPos.y + (cameraPosition.y - waterEnteredAltitude));//max(-(feetPlayerPos.y + (cameraPosition.y - waterEnteredAltitude)),0.0) ; - - percievedWaterDepth = distanceFromWaterSurface; - - distanceFromWaterSurface = max(distanceFromWaterSurface,0.0); - - Absorbtion = exp(-totEpsilon * distanceFromWaterSurface); - - sunlightAbsorbtion = exp(-totEpsilon * (distanceFromWaterSurface/abs(WsunVec.y))); - - } else { - // use hardcoded gradient position if the water surface normal does not face upwards. - // vec3 waterNormal = clamp(normalize(cross(dFdx(playerPos0), dFdy(playerPos0))),0,1); // it uses depth that has POM written to it. - // percievedWaterDepth = mix( -(feetPlayerPos.y + cameraPosition.y),percievedWaterDepth, waterNormal.y); - - // artifacts too obvious unfortunately, go back to hardcoded - percievedWaterDepth = -(feetPlayerPos.y + cameraPosition.y); - } - - DirectLightColor *= sunlightAbsorbtion; - - if( nightVision > 0.0 ) Absorbtion += exp(-totEpsilon * 25.0) * nightVision; - - // apply caustics to the lighting, and make sure they dont look weird - vec3 pos = feetPlayerPos + cameraPosition; - vec2 causticPos = pos.xz; - causticPos = mix(causticPos, pos.xz, max(FlatNormals.y,0)); - // causticPos = mix(causticPos, pos.xy, max(-FlatNormals.y,0)); - causticPos = mix(causticPos, pos.zy, max(FlatNormals.x,0)); - causticPos = mix(causticPos, pos.xy, max(-FlatNormals.z,0)); - // causticPos = mix(causticPos, pos.xy, max(FlatNormals.x,0)); - // causticPos = mix(causticPos, pos.xy, max(-FlatNormals.x,0)); - - - DirectLightColor *= pow(mix(1.0, waterCaustics(feetPlayerPos + cameraPosition, WsunVec, percievedWaterDepth)*WATER_CAUSTICS_BRIGHTNESS, clamp(estimatedDepth,0,1)), WATER_CAUSTICS_POWER); - + underWaterAbsorbance_outsidePOV( + playerPos0, feetPlayerPos , feetPlayerPos_normalized, + WsunVec, // (normalize(cross(dFdx(feetPlayerPos ), dFdy(feetPlayerPos ))).y > 0.01 ? 1.0 : 0.0), + totEpsilon, Absorbtion, DirectLightColor, lightLeakFix + ); } - - // albedo *= waterCaustics(feetPlayerPos + cameraPosition, WsunVec); if (swappedDepth < 1.0) { - // idk why this do - feetPlayerPos += gbufferModelViewInverse[3].xyz; //////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////// FILTER STUFF ////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// diff --git a/shaders/dimensions/composite2.fsh b/shaders/dimensions/composite2.fsh index be8eb4a..1daac11 100644 --- a/shaders/dimensions/composite2.fsh +++ b/shaders/dimensions/composite2.fsh @@ -227,6 +227,7 @@ uniform sampler2D colortex4; #ifdef END_SHADER uniform sampler2D colortex4; #include "/lib/end_fog.glsl" + // #include "/lib/end_volumetrics.glsl" #endif #define fsign(a) (clamp((a)*1e35,0.,1.)*2.-1.) @@ -350,8 +351,8 @@ vec4 waterVolumetrics_insidePOV(vec3 rayStart, vec3 rayEnd, float rayLength, vec float bubble = exp2(-10.0 * clamp(1.0 - length(d*dVWorld) / 16.0, 0.0,1.0)); float caustics = max(max(waterCaustics(progressW, WsunVec, -(progressW.y - waterEnteredAltitude)), phase*0.5) * mix(0.5, 1.5, bubble), phase); - vec3 sunAbsorbance = exp(-waterCoefs * (distanceFromWaterSurface/abs(WsunVec.y))); - vec3 WaterAbsorbance = exp(-waterCoefs * (distanceFromWaterSurface + thing)); + vec3 sunAbsorbance = exp(-waterCoefs * (distanceFromWaterSurface/abs(WsunVec.y)) * WATER_DEPTH_FREQUENCY_DIRECTLIGHT); + vec3 WaterAbsorbance = exp(-waterCoefs * (distanceFromWaterSurface + thing) * WATER_DEPTH_FREQUENCY_INDIRECTLIGHT); vec3 Directlight = lightSource * sh * phase * caustics * sunAbsorbance; vec3 Indirectlight = ambient * WaterAbsorbance; @@ -445,8 +446,8 @@ vec4 waterVolumetrics_outsidePOV( vec3 rayStart, vec3 rayEnd, float estEndDepth, } #endif - vec3 sunAbsorbance = exp(-waterCoefs * estSunDepth * d); - vec3 ambientAbsorbance = exp(-waterCoefs * (estEndDepth * d + thing)); + vec3 sunAbsorbance = exp(-waterCoefs * estSunDepth * d * WATER_DEPTH_FREQUENCY_DIRECTLIGHT); + vec3 ambientAbsorbance = exp(-waterCoefs * (estEndDepth * d + thing) * WATER_DEPTH_FREQUENCY_INDIRECTLIGHT); vec3 Directlight = lightSource * sh * cloudShadow * phase * sunAbsorbance; vec3 Indirectlight = ambient * ambientAbsorbance; diff --git a/shaders/dimensions/composite3.fsh b/shaders/dimensions/composite3.fsh index 1e00148..55aa64b 100644 --- a/shaders/dimensions/composite3.fsh +++ b/shaders/dimensions/composite3.fsh @@ -77,6 +77,7 @@ uniform float eyeAltitude; #endif #include "/lib/sky_gradient.glsl" +#include "/lib/water_absorbance_effects.glsl" #define diagonal3(m) vec3((m)[0].x, (m)[1].y, m[2].z) #define projMAD(m, v) (diagonal3(m) * (v) + (m)[3].xyz) @@ -385,22 +386,8 @@ void blendAllFogTypes( inout vec3 color, inout float bloomyFogMult, vec4 volumet #endif /// water absorption; it is completed when volumetrics are blended. - if(isEyeInWater == 1){ - vec3 totEpsilon = vec3(Water_Absorb_R, Water_Absorb_G, Water_Absorb_B); - vec3 scatterCoef = Dirt_Amount * vec3(Dirt_Scatter_R, Dirt_Scatter_G, Dirt_Scatter_B) / 3.14; - - float distanceFromWaterSurface = playerPos.y + 1.0 + (cameraPosition.y - waterEnteredAltitude)/waterEnteredAltitude; - distanceFromWaterSurface = clamp(distanceFromWaterSurface,0,1); - - vec3 transmittance = exp(-totEpsilon * linearDistance); - color.rgb *= transmittance; - - vec3 transmittance2 = exp(-totEpsilon * 50.0); - float fogfade = 1.0 - max((1.0 - linearDistance / min(far, 16.0*7.0) ),0); - color.rgb += (transmittance2 * scatterCoef) * fogfade; - - bloomyFogMult *= dot(transmittance,vec3(0.3333))*0.75 + 0.25; - } + if(isEyeInWater == 1) underWaterAbsorbance_insidePOV(linearDistance, color, bloomyFogMult); + /// blend volumetrics color = color * volumetrics.a + volumetrics.rgb; diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 47ac7d5..5b2eed9 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -195,6 +195,12 @@ #define PATCHY_WAVE_BLEND 1.0 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0] #define WAVES_A_RADIUS 1.0 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 2.0 3.0 4.0 5.0] #define WAVES_B_RADIUS 0.15 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 2.0 3.0 4.0 5.0] + + #define WATER_DEPTH_FREQUENCY_DIRECTLIGHT 1.0 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0] + #define WATER_DEPTH_FREQUENCY_INDIRECTLIGHT 1.0 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0] + #define WATER_DEPTH_FREQUENCY_ALL_LIGHT 1.0 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0] + + #define MINIMUM_UNDERWATER_FOG_BRIGHTNESS 1.0 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0 100.0] #endif #if defined EXPOSURE_RELATED_SETTINGS diff --git a/shaders/lib/water_absorbance_effects.glsl b/shaders/lib/water_absorbance_effects.glsl new file mode 100644 index 0000000..49eb1c5 --- /dev/null +++ b/shaders/lib/water_absorbance_effects.glsl @@ -0,0 +1,67 @@ +void underWaterAbsorbance_outsidePOV( + in vec3 playerPos_depthtex0, in vec3 playerPos_depthtex1, in vec3 playerPos_n, + in vec3 sunVector, + in vec3 totEpsilon, + inout vec3 absorbance, inout vec3 directLightColor, in float lightLeakFix +){ + // theres 2 absorbances being done here. + // absorbance for the cameras POV into the water + // absorbance for the sunlight itself as it travels through the volume to the point it hits a surface, and then the former absorbance is applied on top of that. + + // force the absorbance to start way closer to the water surface in low light areas, so the water is visible in caves and such. + #if MINIMUM_WATER_ABSORBANCE > -1 + float minimumAbsorbance = MINIMUM_WATER_ABSORBANCE*0.1; + #else + float minimumAbsorbance = 1.0 - lightLeakFix; + #endif + + // get the difference of playerpos with depthtex0 and depthtex1, to get the distance starting at the water surface. + float distanceDiff = distance(playerPos_depthtex1, playerPos_depthtex0); + + // fix the gradient to be perfectly vertical in meters. + float estimatedWaterDepth = distanceDiff * abs(playerPos_n.y); + + // the distance the sunlight has travelled through water. + float travelledWaterDepth = estimatedWaterDepth; + + if (isEyeInWater == 1){ + minimumAbsorbance = 0.0; + estimatedWaterDepth = 1.0; + travelledWaterDepth = -(playerPos_depthtex1.y + (cameraPosition.y - waterEnteredAltitude)); + } + + absorbance = exp(-totEpsilon * max(distanceDiff, minimumAbsorbance) * WATER_DEPTH_FREQUENCY_ALL_LIGHT); + if( nightVision > 0.0 ) absorbance += exp(-totEpsilon * 25.0) * nightVision; + + // things to note about sunlight in water + // sunlight gets absorbed by water on the way down to the floor, and on the way back up to your eye. im gonna ingore the latter part lol + // based on the angle of the sun, sunlight will travel through more/less water to reach the same spot. scale absorbtion depth accordingly + vec3 directLightAbsorbance = exp(-totEpsilon * (max(travelledWaterDepth,0.0)/abs(sunVector.y)) * WATER_DEPTH_FREQUENCY_DIRECTLIGHT); + + // this is a quick fix for the water depth offset for projecting caustics. the sides of water have unsable water depth info (its the wrong angle) for this usecase, so fallback to a hardcoded height gradient + if (isEyeInWater == 0) travelledWaterDepth = -(playerPos_depthtex1.y + (cameraPosition.y - 63.0)); + + float waterCaustics = waterCaustics(playerPos_depthtex1 + cameraPosition, sunVector, travelledWaterDepth); + waterCaustics *= WATER_CAUSTICS_BRIGHTNESS; + waterCaustics = mix(1.0, waterCaustics, clamp(estimatedWaterDepth,0.0,1.0)); + waterCaustics = pow(waterCaustics, WATER_CAUSTICS_POWER); + + directLightColor *= directLightAbsorbance * waterCaustics; +} + +void underWaterAbsorbance_insidePOV( + in float linearDistance, + inout vec3 sceneColor, inout float bloomyFogMult +){ + vec3 totEpsilon = vec3(Water_Absorb_R, Water_Absorb_G, Water_Absorb_B); + vec3 scatterCoef = Dirt_Amount * vec3(Dirt_Scatter_R, Dirt_Scatter_G, Dirt_Scatter_B) / 3.14; + + vec3 transmittance = exp(-totEpsilon * linearDistance * WATER_DEPTH_FREQUENCY_ALL_LIGHT); + vec3 transmittance2 = exp(-totEpsilon * 50.0); + float fogfade = 1.0 - max((1.0 - linearDistance / min(far, 16.0*7.0) ),0); + + sceneColor *= transmittance; + sceneColor += (transmittance2 * scatterCoef) * fogfade * MINIMUM_UNDERWATER_FOG_BRIGHTNESS; + + bloomyFogMult *= dot(transmittance,vec3(0.3333))*0.75 + 0.25; +} \ No newline at end of file diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 6a62d2f..eef7366 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -162,7 +162,7 @@ alphaTest.gbuffers_lightning = false alphaTest.gbuffers_beaconbeam = false alphaTest.gbuffers_armor_glint = false -sliders = COLOR_KEY_R COLOR_KEY_G COLOR_KEY_B COLOR_KEY_RANGE COLOR_KEY_WIDTH HANDHELD_LIGHTSOURCE_FLICKER_MODE LIGHT_BLOCK_R LIGHT_BLOCK_G LIGHT_BLOCK_B CINEMATIC_BORDER_COVERAGE_VERTICAL CINEMATIC_BORDER_COVERAGE_HORIZONTAL MINOR_DAMAGE_TAKEN_EFFECT_START CRITICAL_DAMAGE_TAKEN_EFFECT_START WATER_ON_CAMERA_EFFECT_AMOUNT LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START PLANET_EXIT_ALTITUDE AERIAL_PERSPECTIVE_DENSITY PATCHY_WAVE_BLEND WAVES_A_RADIUS WAVES_B_RADIUS RAIN_SNOW_BRIGHTNESS RAIN_SNOW_BLOOMY_FOG FOLIAGE_ANIMATION_AMOUNT HANDHELD_LIGHTSOURCE_BRIGHTNESS LPV_SIZE HANDHELD_LIGHTSOURCE_SSRT_SHADOWS HANDHELD_LIGHTSOURCE_R HANDHELD_LIGHTSOURCE_G HANDHELD_LIGHTSOURCE_B HANDHELD_LIGHTSOURCE_MODE HANDHELD_LIGHTSOURCE_RANGE PIXEL_ZOOM AUTO_EXPOSURE_ADJUST_RATE ENTITY_SHADOW_AMOUNT FAKE_PLANET_START_HEIGHT FAKE_PLANET_GRADIENT_LENGTH NEIGHBORHOOD_CLAMP_RADIUS_MULT_DURING_MOVEMENT FILM_GRAIN_AMOUNT VIGNETTE_AMOUNT CHROMATIC_ABERRATION_AMOUNT MOTION_BLUR_AMOUNT ENCHANT_GLINT_BRIGHTNESS UNDERWATER_BLOOMY_FOG HOT_BIOME_RAINY_PROFILE_1_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_1_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_B HOT_BIOME_RAINY_PROFILE_2_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_2_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_B HOT_BIOME_RAINY_PROFILE_3_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_3_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_1_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_1_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_2_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_2_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_3_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_3_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_B CUSTOM_SWAMP_PROFILE_1_UNIFORM_FOG_DENSITY CUSTOM_SWAMP_PROFILE_1_CLUMPY_FOG_DENSITY CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_R CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_G CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_B CUSTOM_JUNGLE_PROFILE_1_UNIFORM_FOG_DENSITY CUSTOM_JUNGLE_PROFILE_1_CLUMPY_FOG_DENSITY CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_R CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_G CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_B USE_CUSTOM_SWAMP_CATEGORY_PROFILE USE_CUSTOM_JUNGLE_CATEGORY_PROFILE USE_CUSTOM_HOT_BIOME_RAIN_PROFILE USE_CUSTOM_COLD_BIOME_RAIN_PROFILE DAILY_PROFILE_1_LAYER0_COVERAGE DAILY_PROFILE_1_LAYER0_DENSITY DAILY_PROFILE_1_LAYER1_COVERAGE DAILY_PROFILE_1_LAYER1_DENSITY DAILY_PROFILE_1_LAYER2_COVERAGE DAILY_PROFILE_1_LAYER2_DENSITY DAILY_PROFILE_2_LAYER0_COVERAGE DAILY_PROFILE_2_LAYER0_DENSITY DAILY_PROFILE_2_LAYER1_COVERAGE DAILY_PROFILE_2_LAYER1_DENSITY DAILY_PROFILE_2_LAYER2_COVERAGE DAILY_PROFILE_2_LAYER2_DENSITY DAILY_PROFILE_3_LAYER0_COVERAGE DAILY_PROFILE_3_LAYER0_DENSITY DAILY_PROFILE_3_LAYER1_COVERAGE DAILY_PROFILE_3_LAYER1_DENSITY DAILY_PROFILE_3_LAYER2_COVERAGE DAILY_PROFILE_3_LAYER2_DENSITY DAILY_PROFILE_4_LAYER0_COVERAGE DAILY_PROFILE_4_LAYER0_DENSITY DAILY_PROFILE_4_LAYER1_COVERAGE DAILY_PROFILE_4_LAYER1_DENSITY DAILY_PROFILE_4_LAYER2_COVERAGE DAILY_PROFILE_4_LAYER2_DENSITY DAILY_PROFILE_5_LAYER0_COVERAGE DAILY_PROFILE_5_LAYER0_DENSITY DAILY_PROFILE_5_LAYER1_COVERAGE DAILY_PROFILE_5_LAYER1_DENSITY DAILY_PROFILE_5_LAYER2_COVERAGE DAILY_PROFILE_5_LAYER2_DENSITY DAILY_PROFILE_6_LAYER0_COVERAGE DAILY_PROFILE_6_LAYER0_DENSITY DAILY_PROFILE_6_LAYER1_COVERAGE DAILY_PROFILE_6_LAYER1_DENSITY DAILY_PROFILE_6_LAYER2_COVERAGE DAILY_PROFILE_6_LAYER2_DENSITY RAINY_PROFILE_1_LAYER0_COVERAGE RAINY_PROFILE_1_LAYER0_DENSITY RAINY_PROFILE_1_LAYER1_COVERAGE RAINY_PROFILE_1_LAYER1_DENSITY RAINY_PROFILE_1_LAYER2_COVERAGE RAINY_PROFILE_1_LAYER2_DENSITY RAINY_PROFILE_2_LAYER0_COVERAGE RAINY_PROFILE_2_LAYER0_DENSITY RAINY_PROFILE_2_LAYER1_COVERAGE RAINY_PROFILE_2_LAYER1_DENSITY RAINY_PROFILE_2_LAYER2_COVERAGE RAINY_PROFILE_2_LAYER2_DENSITY RAINY_PROFILE_3_LAYER0_COVERAGE RAINY_PROFILE_3_LAYER0_DENSITY RAINY_PROFILE_3_LAYER1_COVERAGE RAINY_PROFILE_3_LAYER1_DENSITY RAINY_PROFILE_3_LAYER2_COVERAGE RAINY_PROFILE_3_LAYER2_DENSITY RAINY_PROFILE_4_LAYER0_COVERAGE RAINY_PROFILE_4_LAYER0_DENSITY RAINY_PROFILE_4_LAYER1_COVERAGE RAINY_PROFILE_4_LAYER1_DENSITY RAINY_PROFILE_4_LAYER2_COVERAGE RAINY_PROFILE_4_LAYER2_DENSITY RAINY_PROFILE_5_LAYER0_COVERAGE RAINY_PROFILE_5_LAYER0_DENSITY RAINY_PROFILE_5_LAYER1_COVERAGE RAINY_PROFILE_5_LAYER1_DENSITY RAINY_PROFILE_5_LAYER2_COVERAGE RAINY_PROFILE_5_LAYER2_DENSITY RAINY_PROFILE_6_LAYER0_COVERAGE RAINY_PROFILE_6_LAYER0_DENSITY RAINY_PROFILE_6_LAYER1_COVERAGE RAINY_PROFILE_6_LAYER1_DENSITY RAINY_PROFILE_6_LAYER2_COVERAGE RAINY_PROFILE_6_LAYER2_DENSITY USE_CUSTOM_DAILY_WEATHER_PROFILE USE_CUSTOM_DAILY_RAIN_PROFILE CLOUD_SHADOW_AMOUNT TAA_MODE PUDDLE_MODE FAKE_REFRACTION_AMOUNT FAKE_DISPERSION_AMOUNT REFRACTION_SMUDGE_AMOUNT NORMAL_MAP_MULT DEFERRED_SSR_QUALITY FORWARD_SSR_QUALITY VORTEX_LIGHT_COL_R VORTEX_LIGHT_COL_G VORTEX_LIGHT_COL_B END_LIGHTNING_COL_R END_LIGHTNING_COL_G END_LIGHTNING_COL_B END_HAZE_DENSTIY NETHER_CEILING_SMOKE_DENSITY NETHER_HAZE_DENSITY WHITE_BALANCE BLEND_FACTOR_DURING_MOVEMENT MINIMUM_OUTDOOR_LIGHT MINIMUM_INDOOR_LIGHT LIGHTLEAKFIX_MODE SCREENSPACE_DIRECT_SSS_BLENDING ON_FIRE_DISTORT_EFFECT_AMOUNT USE_CUSTOM_SKY_GROUND_LIGHTING_COLORS DIRECTLIGHT_DIFFUSE_R DIRECTLIGHT_DIFFUSE_G DIRECTLIGHT_DIFFUSE_B INDIRECTLIGHT_DIFFUSE_R INDIRECTLIGHT_DIFFUSE_G INDIRECTLIGHT_DIFFUSE_B DIRECTLIGHT_CLOUDS_R DIRECTLIGHT_CLOUDS_G DIRECTLIGHT_CLOUDS_B INDIRECTLIGHT_CLOUDS_R INDIRECTLIGHT_CLOUDS_G INDIRECTLIGHT_CLOUDS_B DIRECTLIGHT_FOG_R DIRECTLIGHT_FOG_G DIRECTLIGHT_FOG_B INDIRECTLIGHT_FOG_R INDIRECTLIGHT_FOG_G INDIRECTLIGHT_FOG_B SKY_GROUND_R SKY_GROUND_G SKY_GROUND_B DOF_DISPERSION_MULT FLASHLIGHT_BRIGHTNESS_MULT FLASHLIGHT_BRIGHTNESS_FALLOFF_MULT FLASHLIGHT_RANGE FLASHLIGHT_SIZE FLASHLIGHT_R FLASHLIGHT_G FLASHLIGHT_B LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START CloudLayer2_scale CloudLayer0_scale CloudLayer1_scale CloudLayer0_tallness CloudLayer1_tallness EXPOSURE_DARKENING EXPOSURE_BRIGHTENING CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps OVERDRAW_MAX_DISTANCE sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW CloudLayer0_height CloudLayer1_height CloudLayer2_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH NETHER_PLUME_DENSITY END_STORM_DENSTIY LIT_PARTICLE_BRIGHTNESS UPPER_CURVE LOWER_CURVE EMISSIVE_TYPE SCALE_FACTOR ambientsss_brightness SSS_TYPE Cloud_Speed ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_FOG_AMOUNT Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Moon_temp Haze_amount Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED BLOOM_STRENGTH shadowDistance Sky_Brightness fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB sun_illuminance sunColorG sunColorB sunColorR sky_mieg sky_coefficientMieB sky_coefficientMieG sky_coefficientMieR sky_coefficientRayleighB sky_coefficientRayleighG sky_coefficientRayleighR EXPOSURE_MULTIPLIER MIN_LIGHT_AMOUNT TORCH_R TORCH_G TORCH_B TORCH_AMOUNT shadowMapResolution sunPathRotation BLEND_FACTOR VL_SAMPLES Exposure_Speed POM_DEPTH MAX_ITERATIONS MAX_DIST ambientOcclusionLevel moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal aperture MANUAL_FOCUS SHADOW_FILTER_SAMPLE_COUNT Max_Filter_Depth VPS_Search_Samples Min_Shadow_Filter_Radius Max_Shadow_Filter_Radius fog_coefficientRayleighB SHARPENING_AMOUNT rayMarchSampleCount Dirt_Amount Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B PURKINJE_AMOUNT PURKINJE_AMOUNT Purkinje_R Purkinje_G Purkinje_B DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDERING_RESOLUTION_SCALE RAY_COUNT ROUGHNESS_TRESHOLD SUN_SPECULAR_MULT DOF_QUALITY DOF_ANAMORPHIC_RATIO AEROCHROME_PINKNESS DOF_JITTER_FOCUS JITTER_STRENGTH SHADOWS_GRADE_R MIDS_GRADE_R HIGHLIGHTS_GRADE_R SHADOWS_GRADE_G MIDS_GRADE_G HIGHLIGHTS_GRADE_G SHADOWS_GRADE_B MIDS_GRADE_B HIGHLIGHTS_GRADE_B SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL LPV_SATURATION LPV_TINT_SATURATION LPV_NORMAL_STRENGTH +sliders = WATER_DEPTH_FREQUENCY_ALL_LIGHT MINIMUM_UNDERWATER_FOG_BRIGHTNESS WATER_DEPTH_FREQUENCY_DIRECTLIGHT WATER_DEPTH_FREQUENCY_INDIRECTLIGHT COLOR_KEY_R COLOR_KEY_G COLOR_KEY_B COLOR_KEY_RANGE COLOR_KEY_WIDTH HANDHELD_LIGHTSOURCE_FLICKER_MODE LIGHT_BLOCK_R LIGHT_BLOCK_G LIGHT_BLOCK_B CINEMATIC_BORDER_COVERAGE_VERTICAL CINEMATIC_BORDER_COVERAGE_HORIZONTAL MINOR_DAMAGE_TAKEN_EFFECT_START CRITICAL_DAMAGE_TAKEN_EFFECT_START WATER_ON_CAMERA_EFFECT_AMOUNT LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START PLANET_EXIT_ALTITUDE AERIAL_PERSPECTIVE_DENSITY PATCHY_WAVE_BLEND WAVES_A_RADIUS WAVES_B_RADIUS RAIN_SNOW_BRIGHTNESS RAIN_SNOW_BLOOMY_FOG FOLIAGE_ANIMATION_AMOUNT HANDHELD_LIGHTSOURCE_BRIGHTNESS LPV_SIZE HANDHELD_LIGHTSOURCE_SSRT_SHADOWS HANDHELD_LIGHTSOURCE_R HANDHELD_LIGHTSOURCE_G HANDHELD_LIGHTSOURCE_B HANDHELD_LIGHTSOURCE_MODE HANDHELD_LIGHTSOURCE_RANGE PIXEL_ZOOM AUTO_EXPOSURE_ADJUST_RATE ENTITY_SHADOW_AMOUNT FAKE_PLANET_START_HEIGHT FAKE_PLANET_GRADIENT_LENGTH NEIGHBORHOOD_CLAMP_RADIUS_MULT_DURING_MOVEMENT FILM_GRAIN_AMOUNT VIGNETTE_AMOUNT CHROMATIC_ABERRATION_AMOUNT MOTION_BLUR_AMOUNT ENCHANT_GLINT_BRIGHTNESS UNDERWATER_BLOOMY_FOG HOT_BIOME_RAINY_PROFILE_1_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_1_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_1_FOG_COLOR_B HOT_BIOME_RAINY_PROFILE_2_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_2_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_2_FOG_COLOR_B HOT_BIOME_RAINY_PROFILE_3_UNIFORM_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_3_CLUMPY_FOG_DENSITY HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_R HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_G HOT_BIOME_RAINY_PROFILE_3_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_1_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_1_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_1_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_2_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_2_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_2_FOG_COLOR_B COLD_BIOME_RAINY_PROFILE_3_UNIFORM_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_3_CLUMPY_FOG_DENSITY COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_R COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_G COLD_BIOME_RAINY_PROFILE_3_FOG_COLOR_B CUSTOM_SWAMP_PROFILE_1_UNIFORM_FOG_DENSITY CUSTOM_SWAMP_PROFILE_1_CLUMPY_FOG_DENSITY CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_R CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_G CUSTOM_SWAMP_PROFILE_1_FOG_COLOR_B CUSTOM_JUNGLE_PROFILE_1_UNIFORM_FOG_DENSITY CUSTOM_JUNGLE_PROFILE_1_CLUMPY_FOG_DENSITY CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_R CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_G CUSTOM_JUNGLE_PROFILE_1_FOG_COLOR_B USE_CUSTOM_SWAMP_CATEGORY_PROFILE USE_CUSTOM_JUNGLE_CATEGORY_PROFILE USE_CUSTOM_HOT_BIOME_RAIN_PROFILE USE_CUSTOM_COLD_BIOME_RAIN_PROFILE DAILY_PROFILE_1_LAYER0_COVERAGE DAILY_PROFILE_1_LAYER0_DENSITY DAILY_PROFILE_1_LAYER1_COVERAGE DAILY_PROFILE_1_LAYER1_DENSITY DAILY_PROFILE_1_LAYER2_COVERAGE DAILY_PROFILE_1_LAYER2_DENSITY DAILY_PROFILE_2_LAYER0_COVERAGE DAILY_PROFILE_2_LAYER0_DENSITY DAILY_PROFILE_2_LAYER1_COVERAGE DAILY_PROFILE_2_LAYER1_DENSITY DAILY_PROFILE_2_LAYER2_COVERAGE DAILY_PROFILE_2_LAYER2_DENSITY DAILY_PROFILE_3_LAYER0_COVERAGE DAILY_PROFILE_3_LAYER0_DENSITY DAILY_PROFILE_3_LAYER1_COVERAGE DAILY_PROFILE_3_LAYER1_DENSITY DAILY_PROFILE_3_LAYER2_COVERAGE DAILY_PROFILE_3_LAYER2_DENSITY DAILY_PROFILE_4_LAYER0_COVERAGE DAILY_PROFILE_4_LAYER0_DENSITY DAILY_PROFILE_4_LAYER1_COVERAGE DAILY_PROFILE_4_LAYER1_DENSITY DAILY_PROFILE_4_LAYER2_COVERAGE DAILY_PROFILE_4_LAYER2_DENSITY DAILY_PROFILE_5_LAYER0_COVERAGE DAILY_PROFILE_5_LAYER0_DENSITY DAILY_PROFILE_5_LAYER1_COVERAGE DAILY_PROFILE_5_LAYER1_DENSITY DAILY_PROFILE_5_LAYER2_COVERAGE DAILY_PROFILE_5_LAYER2_DENSITY DAILY_PROFILE_6_LAYER0_COVERAGE DAILY_PROFILE_6_LAYER0_DENSITY DAILY_PROFILE_6_LAYER1_COVERAGE DAILY_PROFILE_6_LAYER1_DENSITY DAILY_PROFILE_6_LAYER2_COVERAGE DAILY_PROFILE_6_LAYER2_DENSITY RAINY_PROFILE_1_LAYER0_COVERAGE RAINY_PROFILE_1_LAYER0_DENSITY RAINY_PROFILE_1_LAYER1_COVERAGE RAINY_PROFILE_1_LAYER1_DENSITY RAINY_PROFILE_1_LAYER2_COVERAGE RAINY_PROFILE_1_LAYER2_DENSITY RAINY_PROFILE_2_LAYER0_COVERAGE RAINY_PROFILE_2_LAYER0_DENSITY RAINY_PROFILE_2_LAYER1_COVERAGE RAINY_PROFILE_2_LAYER1_DENSITY RAINY_PROFILE_2_LAYER2_COVERAGE RAINY_PROFILE_2_LAYER2_DENSITY RAINY_PROFILE_3_LAYER0_COVERAGE RAINY_PROFILE_3_LAYER0_DENSITY RAINY_PROFILE_3_LAYER1_COVERAGE RAINY_PROFILE_3_LAYER1_DENSITY RAINY_PROFILE_3_LAYER2_COVERAGE RAINY_PROFILE_3_LAYER2_DENSITY RAINY_PROFILE_4_LAYER0_COVERAGE RAINY_PROFILE_4_LAYER0_DENSITY RAINY_PROFILE_4_LAYER1_COVERAGE RAINY_PROFILE_4_LAYER1_DENSITY RAINY_PROFILE_4_LAYER2_COVERAGE RAINY_PROFILE_4_LAYER2_DENSITY RAINY_PROFILE_5_LAYER0_COVERAGE RAINY_PROFILE_5_LAYER0_DENSITY RAINY_PROFILE_5_LAYER1_COVERAGE RAINY_PROFILE_5_LAYER1_DENSITY RAINY_PROFILE_5_LAYER2_COVERAGE RAINY_PROFILE_5_LAYER2_DENSITY RAINY_PROFILE_6_LAYER0_COVERAGE RAINY_PROFILE_6_LAYER0_DENSITY RAINY_PROFILE_6_LAYER1_COVERAGE RAINY_PROFILE_6_LAYER1_DENSITY RAINY_PROFILE_6_LAYER2_COVERAGE RAINY_PROFILE_6_LAYER2_DENSITY USE_CUSTOM_DAILY_WEATHER_PROFILE USE_CUSTOM_DAILY_RAIN_PROFILE CLOUD_SHADOW_AMOUNT TAA_MODE PUDDLE_MODE FAKE_REFRACTION_AMOUNT FAKE_DISPERSION_AMOUNT REFRACTION_SMUDGE_AMOUNT NORMAL_MAP_MULT DEFERRED_SSR_QUALITY FORWARD_SSR_QUALITY VORTEX_LIGHT_COL_R VORTEX_LIGHT_COL_G VORTEX_LIGHT_COL_B END_LIGHTNING_COL_R END_LIGHTNING_COL_G END_LIGHTNING_COL_B END_HAZE_DENSTIY NETHER_CEILING_SMOKE_DENSITY NETHER_HAZE_DENSITY WHITE_BALANCE BLEND_FACTOR_DURING_MOVEMENT MINIMUM_OUTDOOR_LIGHT MINIMUM_INDOOR_LIGHT LIGHTLEAKFIX_MODE SCREENSPACE_DIRECT_SSS_BLENDING ON_FIRE_DISTORT_EFFECT_AMOUNT USE_CUSTOM_SKY_GROUND_LIGHTING_COLORS DIRECTLIGHT_DIFFUSE_R DIRECTLIGHT_DIFFUSE_G DIRECTLIGHT_DIFFUSE_B INDIRECTLIGHT_DIFFUSE_R INDIRECTLIGHT_DIFFUSE_G INDIRECTLIGHT_DIFFUSE_B DIRECTLIGHT_CLOUDS_R DIRECTLIGHT_CLOUDS_G DIRECTLIGHT_CLOUDS_B INDIRECTLIGHT_CLOUDS_R INDIRECTLIGHT_CLOUDS_G INDIRECTLIGHT_CLOUDS_B DIRECTLIGHT_FOG_R DIRECTLIGHT_FOG_G DIRECTLIGHT_FOG_B INDIRECTLIGHT_FOG_R INDIRECTLIGHT_FOG_G INDIRECTLIGHT_FOG_B SKY_GROUND_R SKY_GROUND_G SKY_GROUND_B DOF_DISPERSION_MULT FLASHLIGHT_BRIGHTNESS_MULT FLASHLIGHT_BRIGHTNESS_FALLOFF_MULT FLASHLIGHT_RANGE FLASHLIGHT_SIZE FLASHLIGHT_R FLASHLIGHT_G FLASHLIGHT_B LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START CloudLayer2_scale CloudLayer0_scale CloudLayer1_scale CloudLayer0_tallness CloudLayer1_tallness EXPOSURE_DARKENING EXPOSURE_BRIGHTENING CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps OVERDRAW_MAX_DISTANCE sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW CloudLayer0_height CloudLayer1_height CloudLayer2_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH NETHER_PLUME_DENSITY END_STORM_DENSTIY LIT_PARTICLE_BRIGHTNESS UPPER_CURVE LOWER_CURVE EMISSIVE_TYPE SCALE_FACTOR ambientsss_brightness SSS_TYPE Cloud_Speed ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_FOG_AMOUNT Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Moon_temp Haze_amount Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED BLOOM_STRENGTH shadowDistance Sky_Brightness fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB sun_illuminance sunColorG sunColorB sunColorR sky_mieg sky_coefficientMieB sky_coefficientMieG sky_coefficientMieR sky_coefficientRayleighB sky_coefficientRayleighG sky_coefficientRayleighR EXPOSURE_MULTIPLIER MIN_LIGHT_AMOUNT TORCH_R TORCH_G TORCH_B TORCH_AMOUNT shadowMapResolution sunPathRotation BLEND_FACTOR VL_SAMPLES Exposure_Speed POM_DEPTH MAX_ITERATIONS MAX_DIST ambientOcclusionLevel moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal aperture MANUAL_FOCUS SHADOW_FILTER_SAMPLE_COUNT Max_Filter_Depth VPS_Search_Samples Min_Shadow_Filter_Radius Max_Shadow_Filter_Radius fog_coefficientRayleighB SHARPENING_AMOUNT rayMarchSampleCount Dirt_Amount Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B PURKINJE_AMOUNT PURKINJE_AMOUNT Purkinje_R Purkinje_G Purkinje_B DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDERING_RESOLUTION_SCALE RAY_COUNT ROUGHNESS_TRESHOLD SUN_SPECULAR_MULT DOF_QUALITY DOF_ANAMORPHIC_RATIO AEROCHROME_PINKNESS DOF_JITTER_FOCUS JITTER_STRENGTH SHADOWS_GRADE_R MIDS_GRADE_R HIGHLIGHTS_GRADE_R SHADOWS_GRADE_G MIDS_GRADE_G HIGHLIGHTS_GRADE_G SHADOWS_GRADE_B MIDS_GRADE_B HIGHLIGHTS_GRADE_B SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL LPV_SATURATION LPV_TINT_SATURATION LPV_NORMAL_STRENGTH screen.columns=2 screen = \ @@ -448,7 +448,7 @@ screen = \ Vanilla_like_water \ screen.Water_fog_color.columns=1 - screen.Water_fog_color = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B + screen.Water_fog_color = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B WATER_DEPTH_FREQUENCY_DIRECTLIGHT WATER_DEPTH_FREQUENCY_INDIRECTLIGHT WATER_DEPTH_FREQUENCY_ALL_LIGHT MINIMUM_UNDERWATER_FOG_BRIGHTNESS ######## POST