From 7581c510b99e712c3e7136f4d4318210249e6698 Mon Sep 17 00:00:00 2001 From: Xonk Date: Mon, 17 Mar 2025 00:47:19 -0400 Subject: [PATCH] fix mishandling of cloud shadow related toggles. fix clouds not appearing behind translucent things. remove random spaces from shaders.properties --- shaders/dimensions/DH_translucent.fsh | 5 +- shaders/dimensions/all_particles.fsh | 4 +- shaders/dimensions/all_translucent.fsh | 5 +- shaders/dimensions/composite1.fsh | 16 ++--- shaders/dimensions/composite2.fsh | 5 +- .../dimensions/fogBehindTranslucent_pass.fsh | 44 +++++++------ shaders/lib/overworld_fog.glsl | 5 +- shaders/lib/volumetricClouds.glsl | 36 +++++----- shaders/shaders.properties | 65 +++++++++---------- 9 files changed, 90 insertions(+), 95 deletions(-) diff --git a/shaders/dimensions/DH_translucent.fsh b/shaders/dimensions/DH_translucent.fsh index d1003c2..4c88c55 100644 --- a/shaders/dimensions/DH_translucent.fsh +++ b/shaders/dimensions/DH_translucent.fsh @@ -368,9 +368,8 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) } #endif - #ifdef CLOUDS_SHADOWS - Shadows *= GetCloudShadow(playerPos + cameraPosition, WsunVec); - #endif + Shadows *= GetCloudShadow(playerPos + cameraPosition, WsunVec); + Direct_lighting = DirectLightColor * NdotL * Shadows; diff --git a/shaders/dimensions/all_particles.fsh b/shaders/dimensions/all_particles.fsh index ad22c1f..cfe0731 100644 --- a/shaders/dimensions/all_particles.fsh +++ b/shaders/dimensions/all_particles.fsh @@ -419,9 +419,7 @@ void main() { Shadows *= mix(LM_shadowMapFallback, 1.0, shadowMapFalloff2); - #ifdef CLOUDS_SHADOWS - Shadows *= GetCloudShadow(feetPlayerPos+cameraPosition, WsunVec); - #endif + Shadows *= GetCloudShadow(feetPlayerPos+cameraPosition, WsunVec); if(isEyeInWater == 1){ float distanceFromWaterSurface = max(-(feetPlayerPos.y + (cameraPosition.y - waterEnteredAltitude)),0.0) ; diff --git a/shaders/dimensions/all_translucent.fsh b/shaders/dimensions/all_translucent.fsh index cc1bced..e109c40 100644 --- a/shaders/dimensions/all_translucent.fsh +++ b/shaders/dimensions/all_translucent.fsh @@ -588,9 +588,8 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) // Shadows = mix(LM_shadowMapFallback, Shadows, shadowMapFalloff2); Shadows *= mix(LM_shadowMapFallback,1.0,shadowMapFalloff2); - #ifdef CLOUDS_SHADOWS - Shadows *= GetCloudShadow(feetPlayerPos+cameraPosition, WsunVec); - #endif + Shadows *= GetCloudShadow(feetPlayerPos+cameraPosition, WsunVec); + Direct_lighting = DirectLightColor * NdotL * Shadows; diff --git a/shaders/dimensions/composite1.fsh b/shaders/dimensions/composite1.fsh index 43fa333..1feebf9 100644 --- a/shaders/dimensions/composite1.fsh +++ b/shaders/dimensions/composite1.fsh @@ -1077,11 +1077,10 @@ void main() { if(isEyeInWater != 1) SSSColor *= lightLeakFix; - #ifdef CLOUDS_SHADOWS - float cloudShadows = GetCloudShadow(feetPlayerPos.xyz + cameraPosition, WsunVec); - shadowColor *= cloudShadows; - SSSColor *= cloudShadow*cloudShadows; - #endif + float cloudShadows = GetCloudShadow(feetPlayerPos.xyz + cameraPosition, WsunVec); + shadowColor *= cloudShadows; + SSSColor *= cloudShadow*cloudShadows; + #endif #endif @@ -1351,16 +1350,13 @@ void main() { gl_FragData[0].rgb = clamp(fp10Dither(Background, triangularize(noise_2)), 0.0, 65000.); } + // water absorbtion will impact ALL light coming up from terrain underwater. + gl_FragData[0].rgb *= Absorbtion; if(translucentMasks > 0.0 && isEyeInWater != 1){ - - // water absorbtion will impact ALL light coming up from terrain underwater. - gl_FragData[0].rgb *= Absorbtion; - vec4 vlBehingTranslucents = BilateralUpscale_VLFOG(colortex13, depthtex1, gl_FragCoord.xy - 1.5, ld(z)); gl_FragData[0].rgb = gl_FragData[0].rgb * vlBehingTranslucents.a + vlBehingTranslucents.rgb; - } diff --git a/shaders/dimensions/composite2.fsh b/shaders/dimensions/composite2.fsh index 153ae09..e38e95e 100644 --- a/shaders/dimensions/composite2.fsh +++ b/shaders/dimensions/composite2.fsh @@ -328,9 +328,8 @@ vec4 waterVolumetrics(vec3 rayStart, vec3 rayEnd, float rayLength, vec2 dither, #endif } - #ifdef VL_CLOUDS_SHADOWS - sh *= GetCloudShadow(progressW, WsunVec * lightCol.a); - #endif + sh *= GetCloudShadow(progressW, WsunVec * lightCol.a); + #endif diff --git a/shaders/dimensions/fogBehindTranslucent_pass.fsh b/shaders/dimensions/fogBehindTranslucent_pass.fsh index 0a77043..2a2949a 100644 --- a/shaders/dimensions/fogBehindTranslucent_pass.fsh +++ b/shaders/dimensions/fogBehindTranslucent_pass.fsh @@ -191,7 +191,7 @@ vec4 waterVolumetrics( vec3 rayStart, vec3 rayEnd, float estEndDepth, float estS vec3 sh = vec3(1.0); // do this outside raymarch loop, masking the water surface is good enough - #if defined VL_CLOUDS_SHADOWS && defined OVERWORLD_SHADER + #if defined OVERWORLD_SHADER sh *= GetCloudShadow(wpos+cameraPosition, WsunVec); #endif @@ -286,18 +286,19 @@ void main() { float noise_1 = R2_dither(); float noise_2 = blueNoise(); - float z0 = texture2D(depthtex0,tc).x; + float z0 = texelFetch2D(depthtex0, ivec2((floor(gl_FragCoord.xy - 0.5)/VL_RENDER_RESOLUTION*texelSize)/texelSize), 0 ).x; #ifdef DISTANT_HORIZONS - float DH_z0 = texture2D(dhDepthTex,tc).x; + float DH_z0 = texelFetch2D(dhDepthTex, ivec2((floor(gl_FragCoord.xy - 0.5)/VL_RENDER_RESOLUTION*texelSize)/texelSize), 0 ).x;//texture2D(dhDepthTex,tc).x; #else float DH_z0 = 0.0; #endif - float z = texture2D(depthtex1,tc).x; + float z = texelFetch2D(depthtex1, ivec2((floor(gl_FragCoord.xy - 0.5)/VL_RENDER_RESOLUTION*texelSize)/texelSize), 0 ).x; #ifdef DISTANT_HORIZONS - float DH_z = texture2D(dhDepthTex1,tc).x; + // float DH_z = texture2D(dhDepthTex1,tc).x; + float DH_z = texelFetch2D(dhDepthTex1, ivec2((floor(gl_FragCoord.xy - 0.5)/VL_RENDER_RESOLUTION*texelSize)/texelSize), 0 ).x;//texture2D(dhDepthTex,tc).x; #else float DH_z = 0.0; #endif @@ -355,29 +356,32 @@ void main() { vec4 finalVolumetrics = vec4(0.0,0.0,0.0,1.0); float cloudPlaneDistance = 0.0; - if(!iswater){ - #ifdef OVERWORLD_SHADER - vec4 VolumetricClouds = GetVolumetricClouds(viewPos1, vec2(noise_1, noise_2), WsunVec, directLightColor, indirectLightColor,cloudPlaneDistance); + #ifdef OVERWORLD_SHADER + vec4 VolumetricClouds = GetVolumetricClouds(viewPos1, vec2(noise_1, noise_2), WsunVec, directLightColor, indirectLightColor, cloudPlaneDistance); - float atmosphereAlpha = 1.0; - vec4 VolumetricFog = GetVolumetricFog(viewPos1, WsunVec, vec2(noise_1, noise_2), directLightColor, indirectLightColor, indirectLightColor_dynamic, atmosphereAlpha, VolumetricClouds.rgb,cloudPlaneDistance); - - finalVolumetrics.rgb += VolumetricClouds.rgb; - #endif + float atmosphereAlpha = 1.0; + vec4 VolumetricFog = GetVolumetricFog(viewPos1, WsunVec, vec2(noise_1, noise_2), directLightColor, indirectLightColor, indirectLightColor_dynamic, atmosphereAlpha, VolumetricClouds.rgb,cloudPlaneDistance); + + finalVolumetrics.rgb += VolumetricClouds.rgb; + finalVolumetrics.a *= VolumetricClouds.a; + #endif - #if defined NETHER_SHADER || defined END_SHADER - vec4 VolumetricFog = GetVolumetricFog(viewPos1, noise_1, noise_2); - #endif + #if defined NETHER_SHADER || defined END_SHADER + vec4 VolumetricFog = GetVolumetricFog(viewPos1, noise_1, noise_2); + #endif - finalVolumetrics.rgb = finalVolumetrics.rgb * VolumetricFog.a + VolumetricFog.rgb; - finalVolumetrics.a *= VolumetricFog.a; - } + finalVolumetrics.rgb = finalVolumetrics.rgb * VolumetricFog.a + VolumetricFog.rgb; + finalVolumetrics.a *= VolumetricFog.a; vec4 underwaterVlFog = vec4(0,0,0,1); float lightleakfix = clamp(lightmap.y + (1-caveDetection),0.0,1.0); - if(iswater && isEyeInWater != 1) finalVolumetrics = waterVolumetrics(viewPos0, viewPos1, estimatedDepth, estimatedSunDepth, Vdiff, noise_1, totEpsilon, scatterCoef, indirectLightColor_dynamic, directLightColor, dot(normalize(viewPos1), normalize(sunVec*lightCol.a)) ,lightleakfix); + if(iswater && isEyeInWater != 1) { + vec4 underWaterFog = waterVolumetrics(viewPos0, viewPos1, estimatedDepth, estimatedSunDepth, Vdiff, noise_1, totEpsilon, scatterCoef, indirectLightColor_dynamic, directLightColor, dot(normalize(viewPos1), normalize(sunVec*lightCol.a)) ,lightleakfix); + finalVolumetrics.rgb = finalVolumetrics.rgb * underWaterFog.a*underWaterFog.a + underWaterFog.rgb; + finalVolumetrics.a *= underWaterFog.a; + } gl_FragData[0] = clamp(finalVolumetrics, 0.0, 65000.0); } diff --git a/shaders/lib/overworld_fog.glsl b/shaders/lib/overworld_fog.glsl index 9e1e05c..ed24481 100644 --- a/shaders/lib/overworld_fog.glsl +++ b/shaders/lib/overworld_fog.glsl @@ -206,9 +206,8 @@ vec4 GetVolumetricFog( vec3 sh_forClouds = sh; #endif - #ifdef VL_CLOUDS_SHADOWS - sh *= GetCloudShadow(progressW, sunVector); - #endif + sh *= GetCloudShadow(progressW, sunVector); + #ifdef PER_BIOME_ENVIRONMENT float maxDistance = inBiome * min(max(1.0 - length(d*dVWorld.xz)/(32*8),0.0)*2.0,1.0); diff --git a/shaders/lib/volumetricClouds.glsl b/shaders/lib/volumetricClouds.glsl index 5bdcfcc..fe1fcf4 100644 --- a/shaders/lib/volumetricClouds.glsl +++ b/shaders/lib/volumetricClouds.glsl @@ -134,25 +134,27 @@ float GetCloudShadow(vec3 playerPos, vec3 sunVector){ vec3 startPosition = playerPos; - float cloudShadows = 0.0; + #ifdef CLOUDS_SHADOWS + float cloudShadows = 0.0; - #ifdef CloudLayer0 - startPosition = playerPos + sunVector / abs(sunVector.y) * max((CloudLayer0_height + 20.0) - playerPos.y, 0.0); - cloudShadows = getCloudShape(SMALLCUMULUS_LAYER, 0, startPosition, CloudLayer0_height, CloudLayer0_height+90.0)*dailyWeatherParams1.x; - #endif - #ifdef CloudLayer1 - startPosition = playerPos + sunVector / abs(sunVector.y) * max((CloudLayer1_height + 20.0) - playerPos.y, 0.0); - cloudShadows += getCloudShape(LARGECUMULUS_LAYER, 0, startPosition, CloudLayer1_height, CloudLayer1_height+90.0)*dailyWeatherParams1.y; - #endif - #ifdef CloudLayer2 - startPosition = playerPos + sunVector / abs(sunVector.y) * max(CloudLayer2_height - playerPos.y, 0.0); - cloudShadows += getCloudShape(ALTOSTRATUS_LAYER, 0, startPosition, CloudLayer2_height, CloudLayer2_height)*dailyWeatherParams1.z * (1.0-abs(WsunVec.y)); - #endif - - cloudShadows *= CLOUD_SHADOW_STRENGTH; + #ifdef CloudLayer0 + startPosition = playerPos + sunVector / abs(sunVector.y) * max((CloudLayer0_height + 20.0) - playerPos.y, 0.0); + cloudShadows = getCloudShape(SMALLCUMULUS_LAYER, 0, startPosition, CloudLayer0_height, CloudLayer0_height+90.0)*dailyWeatherParams1.x; + #endif + #ifdef CloudLayer1 + startPosition = playerPos + sunVector / abs(sunVector.y) * max((CloudLayer1_height + 20.0) - playerPos.y, 0.0); + cloudShadows += getCloudShape(LARGECUMULUS_LAYER, 0, startPosition, CloudLayer1_height, CloudLayer1_height+90.0)*dailyWeatherParams1.y; + #endif + #ifdef CloudLayer2 + startPosition = playerPos + sunVector / abs(sunVector.y) * max(CloudLayer2_height - playerPos.y, 0.0); + cloudShadows += getCloudShape(ALTOSTRATUS_LAYER, 0, startPosition, CloudLayer2_height, CloudLayer2_height)*dailyWeatherParams1.z * (1.0-abs(WsunVec.y)); + #endif - #if defined CloudLayer0 || defined CloudLayer1 || defined CloudLayer2 - totalShadow *= exp((cloudShadows*cloudShadows) * -200.0); + cloudShadows *= CLOUD_SHADOW_STRENGTH; + + #if defined CloudLayer0 || defined CloudLayer1 || defined CloudLayer2 + totalShadow *= exp((cloudShadows*cloudShadows) * -200.0); + #endif #endif return totalShadow; diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 739d06d..7e2ce95 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -134,7 +134,7 @@ alphaTest.gbuffers_water = false alphaTest.gbuffers_skybasic = false alphaTest.gbuffers_skytextured = false -sliders = 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 VIGNETTE_STRENGTH CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE CHROMATIC_ABERRATION_STRENGTH SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps MOTION_BLUR_STRENGTH OVERDRAW_MAX_DISTANCE DAY0_l0_coverage DAY0_l1_coverage DAY0_l2_coverage DAY0_ufog_density DAY0_l0_density DAY0_l1_density DAY0_l2_density DAY0_cfog_density DAY1_l0_coverage DAY1_l1_coverage DAY1_l2_coverage DAY1_ufog_density DAY1_l0_density DAY1_l1_density DAY1_l2_density DAY1_cfog_density DAY2_l0_coverage DAY2_l1_coverage DAY2_l2_coverage DAY2_ufog_density DAY2_l0_density DAY2_l1_density DAY2_l2_density DAY2_cfog_density DAY3_l0_coverage DAY3_l1_coverage DAY3_l2_coverage DAY3_ufog_density DAY3_l0_density DAY3_l1_density DAY3_l2_density DAY3_cfog_density DAY4_l0_coverage DAY4_l1_coverage DAY4_l2_coverage DAY4_ufog_density DAY4_l0_density DAY4_l1_density DAY4_l2_density DAY4_cfog_density DAY5_l0_coverage DAY5_l1_coverage DAY5_l2_coverage DAY5_ufog_density DAY5_l0_density DAY5_l1_density DAY5_l2_density DAY5_cfog_density DAY6_l0_coverage DAY6_l1_coverage DAY6_l2_coverage DAY6_ufog_density DAY6_l0_density DAY6_l1_density DAY6_l2_density DAY6_cfog_density DAY7_l0_coverage DAY7_l1_coverage DAY7_l2_coverage DAY7_ufog_density DAY7_l0_density DAY7_l1_density DAY7_l2_density DAY7_cfog_density DAY8_l0_coverage DAY8_l1_coverage DAY8_l2_coverage DAY8_ufog_density DAY8_l0_density DAY8_l1_density DAY8_l2_density DAY8_cfog_density DAY9_l0_coverage DAY9_l1_coverage DAY9_l2_coverage DAY9_ufog_density DAY9_l0_density DAY9_l1_density DAY9_l2_density DAY9_cfog_density sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW entityShadowDistanceMul HANDHELD_LIGHT_RANGE CLOUD_SHADOW_STRENGTH CloudLayer0_coverage CloudLayer0_density CloudLayer0_height CloudLayer1_coverage CloudLayer1_density CloudLayer1_height CloudLayer2_coverage CloudLayer2_density CloudLayer2_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY SWAMP_R SWAMP_G SWAMP_B JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY JUNGLE_R JUNGLE_G JUNGLE_B DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY DARKFOREST_R DARKFOREST_G DARKFOREST_B 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_mult 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 RainFog_amount Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH 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 CLOUDS_QUALITY 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 SSR_STEPS ambientOcclusionLevel SEA_LEVEL 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 Water_Top_Layer fog_coefficientRayleighB SHARPENING 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_strength Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Texture_MipMap_Bias DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDER_RESOLUTION BLOOM_QUALITY VL_RENDER_RESOLUTION RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 Roughness_Threshold Sun_specular_Strength reflection_quality 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 = 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 VIGNETTE_STRENGTH CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE CHROMATIC_ABERRATION_STRENGTH SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps MOTION_BLUR_STRENGTH OVERDRAW_MAX_DISTANCE DAY0_l0_coverage DAY0_l1_coverage DAY0_l2_coverage DAY0_ufog_density DAY0_l0_density DAY0_l1_density DAY0_l2_density DAY0_cfog_density DAY1_l0_coverage DAY1_l1_coverage DAY1_l2_coverage DAY1_ufog_density DAY1_l0_density DAY1_l1_density DAY1_l2_density DAY1_cfog_density DAY2_l0_coverage DAY2_l1_coverage DAY2_l2_coverage DAY2_ufog_density DAY2_l0_density DAY2_l1_density DAY2_l2_density DAY2_cfog_density DAY3_l0_coverage DAY3_l1_coverage DAY3_l2_coverage DAY3_ufog_density DAY3_l0_density DAY3_l1_density DAY3_l2_density DAY3_cfog_density DAY4_l0_coverage DAY4_l1_coverage DAY4_l2_coverage DAY4_ufog_density DAY4_l0_density DAY4_l1_density DAY4_l2_density DAY4_cfog_density DAY5_l0_coverage DAY5_l1_coverage DAY5_l2_coverage DAY5_ufog_density DAY5_l0_density DAY5_l1_density DAY5_l2_density DAY5_cfog_density DAY6_l0_coverage DAY6_l1_coverage DAY6_l2_coverage DAY6_ufog_density DAY6_l0_density DAY6_l1_density DAY6_l2_density DAY6_cfog_density DAY7_l0_coverage DAY7_l1_coverage DAY7_l2_coverage DAY7_ufog_density DAY7_l0_density DAY7_l1_density DAY7_l2_density DAY7_cfog_density DAY8_l0_coverage DAY8_l1_coverage DAY8_l2_coverage DAY8_ufog_density DAY8_l0_density DAY8_l1_density DAY8_l2_density DAY8_cfog_density DAY9_l0_coverage DAY9_l1_coverage DAY9_l2_coverage DAY9_ufog_density DAY9_l0_density DAY9_l1_density DAY9_l2_density DAY9_cfog_density sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW entityShadowDistanceMul HANDHELD_LIGHT_RANGE CLOUD_SHADOW_STRENGTH CloudLayer0_coverage CloudLayer0_density CloudLayer0_height CloudLayer1_coverage CloudLayer1_density CloudLayer1_height CloudLayer2_coverage CloudLayer2_density CloudLayer2_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY SWAMP_R SWAMP_G SWAMP_B JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY JUNGLE_R JUNGLE_G JUNGLE_B DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY DARKFOREST_R DARKFOREST_G DARKFOREST_B 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_mult 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 RainFog_amount Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH 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 CLOUDS_QUALITY 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 SSR_STEPS ambientOcclusionLevel SEA_LEVEL 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 Water_Top_Layer fog_coefficientRayleighB SHARPENING 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_strength Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Texture_MipMap_Bias DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDER_RESOLUTION BLOOM_QUALITY VL_RENDER_RESOLUTION RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 Roughness_Threshold Sun_specular_Strength reflection_quality 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 = \ @@ -150,16 +150,16 @@ SHADER_VERSION_LABEL \ ######## LIGHTING ### DIRECT LIGHT screen.Direct_Light.columns=1 - screen.Direct_Light = [Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] OLD_LIGHTLEAK_FIX sunPathRotation sun_illuminance MOONPHASE_BASED_MOONLIGHT moon_illuminance + screen.Direct_Light =[Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] OLD_LIGHTLEAK_FIX sunPathRotation sun_illuminance MOONPHASE_BASED_MOONLIGHT moon_illuminance screen.Shadows.columns=1 - screen.Shadows = TRANSLUCENT_COLORED_SHADOWS SCREENSPACE_CONTACT_SHADOWS RENDER_ENTITY_SHADOWS RENDER_PLAYER_SHADOWS entityShadowDistanceMul [Filtering] shadowMapResolution shadowDistance OPTIMIZED_SHADOW_DISTANCE + screen.Shadows = TRANSLUCENT_COLORED_SHADOWS SCREENSPACE_CONTACT_SHADOWS RENDER_ENTITY_SHADOWS RENDER_PLAYER_SHADOWS entityShadowDistanceMul [Filtering] shadowMapResolution shadowDistance OPTIMIZED_SHADOW_DISTANCE screen.Filtering.columns=1 - screen.Filtering = BASIC_SHADOW_FILTER SHADOW_FILTER_SAMPLE_COUNT Min_Shadow_Filter_Radius Variable_Penumbra_Shadows VPS_Search_Samples Max_Shadow_Filter_Radius Max_Filter_Depth + screen.Filtering = BASIC_SHADOW_FILTER SHADOW_FILTER_SAMPLE_COUNT Min_Shadow_Filter_Radius Variable_Penumbra_Shadows VPS_Search_Samples Max_Shadow_Filter_Radius Max_Filter_Depth screen.Sun_and_Moon_Colors.columns = 1 - screen.Sun_and_Moon_Colors = sunColorR sunColorG sunColorB moonColorR moonColorG moonColorB colortype Sun_temp Moon_temp + screen.Sun_and_Moon_Colors = sunColorR sunColorG sunColorB moonColorR moonColorG moonColorB colortype Sun_temp Moon_temp ### AMBIENT LIGHT screen.Ambient_light.columns=1 @@ -172,7 +172,7 @@ SHADER_VERSION_LABEL \ HANDHELD_LIGHT_RANGE UseQuarterResDepth screen.Torch_Colors.columns=1 - screen.Torch_Colors = TORCH_AMOUNT Emissive_Brightness Emissive_Curve TORCH_R TORCH_G TORCH_B + screen.Torch_Colors = TORCH_AMOUNT Emissive_Brightness Emissive_Curve TORCH_R TORCH_G TORCH_B screen.Ambient_Colors.columns=1 screen.Ambient_Colors = ambient_brightness MIN_LIGHT_AMOUNT AmbientLight_R AmbientLight_G AmbientLight_B @@ -182,7 +182,6 @@ SHADER_VERSION_LABEL \ screen.Resource_Pack_Support = [Reflections] [Emissives] [Subsurface_Scattering] [POM] [Porosity] MATERIAL_AO RESOURCEPACK_SKY screen.Reflections.columns=2 - # screen.Reflections = Specular_Reflections Sun_specular_Strength Screen_Space_Reflections reflection_quality Rough_reflections Roughness_Threshold Sky_reflection Dynamic_SSR_quality screen.Reflections = \ DEFERRED_SPECULAR FORWARD_SPECULAR \ DEFERRED_ENVIORNMENT_REFLECTION FORWARD_ENVIORNMENT_REFLECTION \ @@ -191,13 +190,13 @@ SHADER_VERSION_LABEL \ Sun_specular_Strength Roughness_Threshold screen.Subsurface_Scattering.columns=1 - screen.Subsurface_Scattering = SSS_TYPE sss_density_multiplier sss_absorbance_multiplier LabSSS_Curve MISC_BLOCK_SSS MOB_SSS Ambient_SSS ambientsss_brightness + screen.Subsurface_Scattering = SSS_TYPE sss_density_multiplier sss_absorbance_multiplier LabSSS_Curve MISC_BLOCK_SSS MOB_SSS Ambient_SSS ambientsss_brightness screen.Emissives.columns = 1 screen.Emissives = EMISSIVE_TYPE Emissive_Brightness Emissive_Curve screen.POM.columns=1 - screen.POM = POM Adaptive_Step_length MAX_ITERATIONS POM_DEPTH MAX_DIST Horrible_slope_normals + screen.POM = POM Adaptive_Step_length MAX_ITERATIONS POM_DEPTH MAX_DIST Horrible_slope_normals screen.Porosity.columns = 1 screen.Porosity = Porosity Puddles Puddle_Size @@ -272,7 +271,7 @@ SHADER_VERSION_LABEL \ FOG_START_HEIGHT BLOOMY_FOG \ \ Haze_amount RainFog_amount \ - [TOD_fog] [Cave_Fog] \ + [TOD_fog] [Cave_Fog] \ [END_AND_NETHER_FOG] \ \ BorderFog PER_BIOME_ENVIRONMENT \ @@ -292,7 +291,7 @@ SHADER_VERSION_LABEL \ ### WATER screen.Water.columns=2 - screen.Water = FAKE_REFRACTION_EFFECT [Water_fog_color] \ + screen.Water = FAKE_REFRACTION_EFFECT [Water_fog_color] \ FAKE_DISPERSION_EFFECT Dirt_Amount \ REFRACTION_SMUDGE MINIMUM_WATER_ABSORBANCE \ SNELLS_WINDOW Water_Top_Layer \ @@ -303,18 +302,18 @@ SHADER_VERSION_LABEL \ ######## POST screen.Post_Processing.columns=2 - screen.Post_Processing = [TAA_OPTIONS] [Tonemapping] [Exposure] [DepthOfField] [Purkinje_effect] [COLOR_GRADING] [GAMEPLAY_EFFECTS] CAMERA_GRIDLINES BLOOM_STRENGTH SHARPENING MOTION_BLUR MOTION_BLUR_STRENGTH CHROMATIC_ABERRATION CHROMATIC_ABERRATION_STRENGTH VIGNETTE VIGNETTE_STRENGTH + screen.Post_Processing = [TAA_OPTIONS] [Tonemapping] [Exposure] [DepthOfField] [Purkinje_effect] [COLOR_GRADING] [GAMEPLAY_EFFECTS] CAMERA_GRIDLINES BLOOM_STRENGTH SHARPENING MOTION_BLUR MOTION_BLUR_STRENGTH CHROMATIC_ABERRATION CHROMATIC_ABERRATION_STRENGTH VIGNETTE VIGNETTE_STRENGTH ### TAA screen.TAA_OPTIONS.columns = 1 screen.TAA_OPTIONS= SCREENSHOT_MODE TAA RESPONSIVE_TAA BLEND_FACTOR TAA_UPSCALING SCALE_FACTOR - ### DOF + ### DOF screen.DepthOfField.columns = 1 screen.DepthOfField = DOF_QUALITY DOF_ANAMORPHIC_RATIO focal aperture MANUAL_FOCUS DoF_Adaptation_Speed FAR_BLUR_ONLY REMOVE_HAND_BLUR [JITTER_DOF] DOF_DISPERSION_MULT screen.JITTER_DOF.columns=1 screen.JITTER_DOF = JITTER_STRENGTH FOCUS_LASER_COLOR SCREENSHOT_MODE ### EXPOSURE screen.Exposure.columns = 1 - screen.Exposure = AUTO_EXPOSURE EXPOSURE_MULTIPLIER Exposure_Speed Manual_exposure_value EXPOSURE_DARKENING EXPOSURE_BRIGHTENING + screen.Exposure = AUTO_EXPOSURE EXPOSURE_MULTIPLIER Exposure_Speed Manual_exposure_value EXPOSURE_DARKENING EXPOSURE_BRIGHTENING ### TONEMAPS screen.Tonemapping.columns = 1 screen.Tonemapping = TONEMAP USE_ACES_COLORSPACE_APPROXIMATION SATURATION CROSSTALK @@ -333,11 +332,11 @@ SHADER_VERSION_LABEL \ SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL ### COOL GAMEPLAY EFFECTS - screen.GAMEPLAY_EFFECTS = FLASHLIGHT [FLASHLIGHT_SETTING] MOTION_AMOUNT WATER_ON_CAMERA_EFFECT DAMAGE_TAKEN_EFFECT LOW_HEALTH_EFFECT LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START + screen.GAMEPLAY_EFFECTS = FLASHLIGHT [FLASHLIGHT_SETTING] MOTION_AMOUNT WATER_ON_CAMERA_EFFECT DAMAGE_TAKEN_EFFECT LOW_HEALTH_EFFECT LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START screen.FLASHLIGHT_SETTING.columns = 2 screen.FLASHLIGHT_SETTING = FLASHLIGHT FLASHLIGHT_R \ FLASHLIGHT_SPECULAR FLASHLIGHT_G \ - FLASHLIGHT_BOUNCED_INDIRECT FLASHLIGHT_B \ + FLASHLIGHT_BOUNCED_INDIRECT FLASHLIGHT_B \ FLASHLIGHT_FOG_ILLUMINATION \ FLASHLIGHT_RANGE FLASHLIGHT_BRIGHTNESS_MULT \ FLASHLIGHT_SIZE FLASHLIGHT_BRIGHTNESS_FALLOFF_MULT @@ -375,25 +374,25 @@ SHADER_VERSION_LABEL \ [DAY4_WEATHER] [DAY9_WEATHER] screen.DAY0_WEATHER.columns = 2 - screen.DAY0_WEATHER = DAY0_l0_coverage DAY0_l0_density DAY0_l1_coverage DAY0_l1_density DAY0_l2_coverage DAY0_l2_density DAY0_ufog_density DAY0_cfog_density + screen.DAY0_WEATHER = DAY0_l0_coverage DAY0_l0_density DAY0_l1_coverage DAY0_l1_density DAY0_l2_coverage DAY0_l2_density DAY0_ufog_density DAY0_cfog_density screen.DAY1_WEATHER.columns = 2 - screen.DAY1_WEATHER = DAY1_l0_coverage DAY1_l0_density DAY1_l1_coverage DAY1_l1_density DAY1_l2_coverage DAY1_l2_density DAY1_ufog_density DAY1_cfog_density + screen.DAY1_WEATHER = DAY1_l0_coverage DAY1_l0_density DAY1_l1_coverage DAY1_l1_density DAY1_l2_coverage DAY1_l2_density DAY1_ufog_density DAY1_cfog_density screen.DAY2_WEATHER.columns = 2 - screen.DAY2_WEATHER = DAY2_l0_coverage DAY2_l0_density DAY2_l1_coverage DAY2_l1_density DAY2_l2_coverage DAY2_l2_density DAY2_ufog_density DAY2_cfog_density + screen.DAY2_WEATHER = DAY2_l0_coverage DAY2_l0_density DAY2_l1_coverage DAY2_l1_density DAY2_l2_coverage DAY2_l2_density DAY2_ufog_density DAY2_cfog_density screen.DAY3_WEATHER.columns = 2 - screen.DAY3_WEATHER = DAY3_l0_coverage DAY3_l0_density DAY3_l1_coverage DAY3_l1_density DAY3_l2_coverage DAY3_l2_density DAY3_ufog_density DAY3_cfog_density + screen.DAY3_WEATHER = DAY3_l0_coverage DAY3_l0_density DAY3_l1_coverage DAY3_l1_density DAY3_l2_coverage DAY3_l2_density DAY3_ufog_density DAY3_cfog_density screen.DAY4_WEATHER.columns = 2 - screen.DAY4_WEATHER = DAY4_l0_coverage DAY4_l0_density DAY4_l1_coverage DAY4_l1_density DAY4_l2_coverage DAY4_l2_density DAY4_ufog_density DAY4_cfog_density + screen.DAY4_WEATHER = DAY4_l0_coverage DAY4_l0_density DAY4_l1_coverage DAY4_l1_density DAY4_l2_coverage DAY4_l2_density DAY4_ufog_density DAY4_cfog_density screen.DAY5_WEATHER.columns = 2 - screen.DAY5_WEATHER = DAY5_l0_coverage DAY5_l0_density DAY5_l1_coverage DAY5_l1_density DAY5_l2_coverage DAY5_l2_density DAY5_ufog_density DAY5_cfog_density + screen.DAY5_WEATHER = DAY5_l0_coverage DAY5_l0_density DAY5_l1_coverage DAY5_l1_density DAY5_l2_coverage DAY5_l2_density DAY5_ufog_density DAY5_cfog_density screen.DAY6_WEATHER.columns = 2 - screen.DAY6_WEATHER = DAY6_l0_coverage DAY6_l0_density DAY6_l1_coverage DAY6_l1_density DAY6_l2_coverage DAY6_l2_density DAY6_ufog_density DAY6_cfog_density + screen.DAY6_WEATHER = DAY6_l0_coverage DAY6_l0_density DAY6_l1_coverage DAY6_l1_density DAY6_l2_coverage DAY6_l2_density DAY6_ufog_density DAY6_cfog_density screen.DAY7_WEATHER.columns = 2 - screen.DAY7_WEATHER = DAY7_l0_coverage DAY7_l0_density DAY7_l1_coverage DAY7_l1_density DAY7_l2_coverage DAY7_l2_density DAY7_ufog_density DAY7_cfog_density + screen.DAY7_WEATHER = DAY7_l0_coverage DAY7_l0_density DAY7_l1_coverage DAY7_l1_density DAY7_l2_coverage DAY7_l2_density DAY7_ufog_density DAY7_cfog_density screen.DAY8_WEATHER.columns = 2 - screen.DAY8_WEATHER = DAY8_l0_coverage DAY8_l0_density DAY8_l1_coverage DAY8_l1_density DAY8_l2_coverage DAY8_l2_density DAY8_ufog_density DAY8_cfog_density + screen.DAY8_WEATHER = DAY8_l0_coverage DAY8_l0_density DAY8_l1_coverage DAY8_l1_density DAY8_l2_coverage DAY8_l2_density DAY8_ufog_density DAY8_cfog_density screen.DAY9_WEATHER.columns = 2 - screen.DAY9_WEATHER = DAY9_l0_coverage DAY9_l0_density DAY9_l1_coverage DAY9_l1_density DAY9_l2_coverage DAY9_l2_density DAY9_ufog_density DAY9_cfog_density + screen.DAY9_WEATHER = DAY9_l0_coverage DAY9_l0_density DAY9_l1_coverage DAY9_l1_density DAY9_l2_coverage DAY9_l2_density DAY9_ufog_density DAY9_cfog_density # thank you sixthsurge! @@ -456,7 +455,7 @@ variable.int.BiomeTransitionTime = 60 uniform.float.sandStorm = 0.0; #endif -uniform.float.noPuddleAreas = smooth(if(in(biome, 3, 4, 16, 37, 39, 48, 49, 31, 32, 33, 34, 5, 17, 18, 26, 27, 28), 0,1), 15,15) +uniform.float.noPuddleAreas = smooth(if(in(biome, 3, 4, 16, 37, 39, 48, 49, 31, 32, 33, 34, 5, 17, 18, 26, 27, 28), 0,1), 15,15) ############################ ####### RANDOM STUFF ####### @@ -464,7 +463,7 @@ uniform.float.noPuddleAreas = smooth(if(in(biome, 3, 4, 16, 37, 39, 48, 49, 31, # force LUT accumulation to have a high blend factor after a certain amount of time uniform.float.dayChangeSmooth = smooth(if(abs(smooth(worldDay, 0.05, 0.05) - worldDay) > 0.01, 0.0, 1.0), 300.0, 0.0) -uniform.bool.worldTimeChangeCheck = abs(smooth(sunAngle, 1.0, 1.0) - sunAngle) > 0.01 +uniform.bool.worldTimeChangeCheck = abs(smooth(sunAngle, 1.0, 1.0) - sunAngle) > 0.01 #if defined WATER_ON_CAMERA_EFFECT uniform.float.exitWater = smooth(if(isEyeInWater == 1,1,0),0.0,5.0) @@ -473,8 +472,8 @@ uniform.bool.worldTimeChangeCheck = abs(smooth(sunAngle, 1.0, 1.0) - sunAngle) #if defined LOW_HEALTH_EFFECT || defined DAMAGE_TAKEN_EFFECT #ifdef IS_IRIS variable.float.Currenthealth = currentPlayerHealth * maxPlayerHealth - uniform.float.oneHeart = smooth(if(Currenthealth <= CRITICALLY_LOW_HEALTH_EFFECT_START && currentPlayerHealth > -1.0, 1,0), 0.0,1.0) - uniform.float.threeHeart = smooth(if(Currenthealth <= max(LOW_HEALTH_EFFECT_START,CRITICALLY_LOW_HEALTH_EFFECT_START) && currentPlayerHealth > -1.0, 1,0), 0.0,1.0) + uniform.float.oneHeart = smooth(if(Currenthealth <= CRITICALLY_LOW_HEALTH_EFFECT_START && currentPlayerHealth > -1.0, 1,0), 0.0,1.0) + uniform.float.threeHeart = smooth(if(Currenthealth <= max(LOW_HEALTH_EFFECT_START,CRITICALLY_LOW_HEALTH_EFFECT_START) && currentPlayerHealth > -1.0, 1,0), 0.0,1.0) variable.float.interpolatedHealth = smooth(if(is_hurt, 0.0, Currenthealth), 0.0, 1.0) @@ -482,11 +481,11 @@ uniform.bool.worldTimeChangeCheck = abs(smooth(sunAngle, 1.0, 1.0) - sunAngle) variable.bool.largeHealthDifference = (interpolatedHealth - Currenthealth) >= 7.0 variable.bool.delayedCritDamage = smooth(if(largeHealthDifference, 1.0, 0.0), 0.0, 1.0) > 0.01 - uniform.float.CriticalDamageTaken = smooth(if(delayedCritDamage && currentPlayerHealth > -1.0, 1.0, 0.0), 0.5, 3.0) + uniform.float.CriticalDamageTaken = smooth(if(delayedCritDamage && currentPlayerHealth > -1.0, 1.0, 0.0), 0.5, 3.0) # detect over 2 hearts of damage taken variable.bool.smallHealthDifference = (interpolatedHealth - Currenthealth) >= 3.0 - uniform.float.MinorDamageTaken = smooth(if(smallHealthDifference && currentPlayerHealth > -1.0, 5.0, 0.0), 0.5, 1.0) + uniform.float.MinorDamageTaken = smooth(if(smallHealthDifference && currentPlayerHealth > -1.0, 5.0, 0.0), 0.5, 1.0) #else uniform.bool.isDead = !is_alive @@ -537,7 +536,7 @@ texture.composite.colortex6 = texture/blueNoise.png variable.float.texelSizeX = 1.0/viewWidth variable.float.texelSizeY = 1.0/viewHeight -uniform.vec2.texelSize = vec2(texelSizeX,texelSizeY) +uniform.vec2.texelSize = vec2(texelSizeX,texelSizeY) #if defined RESPONSIVE_TAA uniform.int.framemod8 = frameCounter%4