diff --git a/shaders/dimensions/DH_translucent.fsh b/shaders/dimensions/DH_translucent.fsh index 5acbdb7..3c315a2 100644 --- a/shaders/dimensions/DH_translucent.fsh +++ b/shaders/dimensions/DH_translucent.fsh @@ -421,7 +421,6 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) BackgroundReflection = skyCloudsFromTex(mat3(gbufferModelViewInverse) * reflectedVector, colortex4).rgb / 1200.0; #endif #ifdef WATER_SUN_SPECULAR - if(iswater) DirectLightColor *= WATER_SUN_REFLECTION_STRENGTH; SunReflection = (DirectLightColor * Shadows) * GGX(normalize(normals), -normalize(viewPos), normalize(WsunVec2), roughness, f0) * (1.0-Reflections.a); #endif diff --git a/shaders/dimensions/all_solid.vsh b/shaders/dimensions/all_solid.vsh index 2be6336..9d3f4d7 100644 --- a/shaders/dimensions/all_solid.vsh +++ b/shaders/dimensions/all_solid.vsh @@ -91,6 +91,21 @@ uniform vec3 cameraPosition; uniform vec2 texelSize; uniform int framemod8; +#if defined HAND +uniform mat4 gbufferPreviousModelView; +uniform vec3 previousCameraPosition; + +float detectCameraMovement(){ + // simply get the difference of modelview matrices and cameraPosition across a frame. + vec3 fakePos = vec3(0.5,0.5,0.0); + vec3 hand_playerPos = mat3(gbufferModelViewInverse) * fakePos + (cameraPosition - previousCameraPosition); + vec3 previousPosition = mat3(gbufferPreviousModelView) * hand_playerPos; + float detectMovement = 1.0 - clamp(distance(previousPosition, fakePos)/texelSize.x,0.0,1.0); + + return detectMovement; +} +#endif + #include "/lib/TAA_jitter.glsl" @@ -193,7 +208,7 @@ void main() { #if defined ENTITIES && defined IS_IRIS // force out of frustum - if (entityId == 1599) gl_Position.z -= 10000; + if (entityId == 1599) gl_Position.z -= 10000.0; #endif vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz; @@ -427,7 +442,13 @@ void main() { gl_Position.xy = gl_Position.xy * RENDER_SCALE + RENDER_SCALE * gl_Position.w - gl_Position.w; #endif #ifdef TAA - gl_Position.xy += offsets[framemod8] * gl_Position.w*texelSize; + #ifdef HAND + // turn off jitter when camera moves. + // this is to hide the jitter when the same happens for TAA blend factor and the jitter becomes visible during camera movement + gl_Position.xy += (offsets[framemod8] * gl_Position.w*texelSize) * detectCameraMovement(); + #else + gl_Position.xy += offsets[framemod8] * gl_Position.w*texelSize; + #endif #endif diff --git a/shaders/dimensions/all_translucent.fsh b/shaders/dimensions/all_translucent.fsh index 344d08e..69bc566 100644 --- a/shaders/dimensions/all_translucent.fsh +++ b/shaders/dimensions/all_translucent.fsh @@ -775,7 +775,6 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec3 DirectLightColor = WsunVec; float Shadows = 0.0; #endif - if(isWater) DirectLightColor *= WATER_SUN_REFLECTION_STRENGTH; vec3 specularReflections = specularReflections(viewPos, normalize(feetPlayerPos), WsunVec, vec3(blueNoise(), vec2(interleaved_gradientNoise_temporal())), worldSpaceNormal, roughness, f0, Albedo, FinalColor*gl_FragData[0].a, DirectLightColor * Shadows, lightmap.y, isHand, isWater, reflectance, flashLightSpecularData); gl_FragData[0].a = gl_FragData[0].a + (1.0-gl_FragData[0].a) * reflectance; diff --git a/shaders/dimensions/final.fsh b/shaders/dimensions/final.fsh index 9be28a0..12bb208 100644 --- a/shaders/dimensions/final.fsh +++ b/shaders/dimensions/final.fsh @@ -100,8 +100,8 @@ vec3 doMotionBlur(vec2 texcoord, float depth, float noise, bool hand){ vec2 velocity = texcoord - previousPosition.xy; // thank you Capt Tatsu for letting me use these - velocity /= 1.0 + length(velocity); // ensure the blurring stays sane where UV is beyond 1.0 or -1.0 - velocity /= 1.0 + frameTime*1000.0; // ensure the blur radius stays roughly the same no matter the framerate + velocity /= (1.0 + length(velocity)); // ensure the blurring stays sane where UV is beyond 1.0 or -1.0 + velocity /= (1.0 + frameTime*1000.0 * samples * 0.25); // ensure the blur radius stays roughly the same no matter the framerate or sample count velocity *= blurMult * MOTION_BLUR_STRENGTH; // remove hand blur and add user control texcoord = texcoord - velocity*(samples*0.5 + noise); diff --git a/shaders/item.properties b/shaders/item.properties index 4632f74..61c95cf 100644 --- a/shaders/item.properties +++ b/shaders/item.properties @@ -40,7 +40,7 @@ item.1017=magma_block item.1018=redstone_torch -item.1029=sculk_catalyst +item.1019=sculk_catalyst item.1020=sea_lantern \ betternether:willow_torch diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index 62e239d..fd772f5 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -10,15 +10,35 @@ profile.HIGH=§bHigh profile.VERY_HIGH=§9Very High profile.ULTRA=§dUltra -option.OLD_LIGHTLEAK_FIX = Lightleak Fix +option.OLD_LIGHTLEAK_FIX = Old Lightleak Fix option.CAVE_DETECTION = Cave detection value.CAVE_DETECTION.0.0 = ON value.CAVE_DETECTION.1.0 = Y < 62.0 value.CAVE_DETECTION.2.0 = OFF option.sunPathRotation = Sun Angle -option.sun_illuminance = Sun Illuminance -option.moon_illuminance = Moon Illuminance -option.MOONPHASE_BASED_MOONLIGHT = Moonphase Brightness Levels +suffix.sunPathRotation = ° +option.sun_illuminance = Sun Brightness +option.moon_illuminance = Moon Brightness +option.MOONPHASE_BASED_MOONLIGHT = Moonphase based brightness levels +option.LIGHTLEAKFIX_MODE = "lightleak fix" mode + value.LIGHTLEAKFIX_MODE.0 = none. §csunlight will leak through walls§r + value.LIGHTLEAKFIX_MODE.1 = gap fill/zoom. §cmakes shadows blocky§r + value.LIGHTLEAKFIX_MODE.2 = use sky lightmap levels. §cno sunlight will shine in low lightmap levels§r + +option.colortype = coloring mode + value.colortype.1 = RGB color (above) + option.sunColorR = Sun Color: Red + option.sunColorG = Sun Color: Green + option.sunColorB = Sun Color: Blue + option.moonColorR = Moon Color: Red + option.moonColorG = Moon Color: Green + option.moonColorB = Moon Color: Blue + + value.colortype.2 = Kelvin temperature (below) + option.Sun_temp = Sun temperature + suffix.Sun_temp = K + option.Moon_temp = moon temperature + suffix.Moon_temp = K option.REALMOON = Realistic Moon screen.Misc_Settings = §cDebugging§r/Experimental Settings screen.Mod_support = Settings For Supported Mods @@ -73,9 +93,6 @@ screen.Direct_Light = Direct Light value.shadowDistance.4096.0 = 256 Chunks value.shadowDistance.8192.0 = 512 Chunks - option.OPTIMIZED_SHADOW_DISTANCE = Max Shadow Bounds - value.OPTIMIZED_SHADOW_DISTANCE.-1.0 = Un-Optimized - value.OPTIMIZED_SHADOW_DISTANCE.1.0 = Optimized option.entityShadowDistanceMul = Entity Shadow Distance value.entityShadowDistanceMul.0.01 = 1% of Shadow Distance value.entityShadowDistanceMul.0.02 = 2% of Shadow Distance @@ -147,9 +164,10 @@ screen.Subsurface_Scattering = Sub-Surface Scattering screen.Ambient_light = Ambient Light option.AO_Strength = AO Multiplier option.GI_Strength = GI Multiplier - option.HQ_SSGI = Long Range SSGI + option.HQ_SSGI = Long Range Marching (SSRT) + option.UseQuarterResDepth = sample 1/4 resolution depth (SSRT) option.Hand_Held_lights = Hand Held Light - option.SKY_CONTRIBUTION_IN_SSRT = High Quality Ambient Light + option.SKY_CONTRIBUTION_IN_SSRT = High Quality Ambient Light (SSRT) option.ambientOcclusionLevel = Vanilla AO Amount option.ambient_brightness = Ambient Light Brightness option.MIN_LIGHT_AMOUNT = Minimum Light Brightness @@ -157,8 +175,8 @@ screen.Ambient_light = Ambient Light value.indirect_effect.0 = Vanilla AO value.indirect_effect.1 = SSAO value.indirect_effect.2 = GTAO - value.indirect_effect.3 = RTAO - value.indirect_effect.4 = SSGI + value.indirect_effect.3 = SSRT (AO only) - §cLOTS OF VISUAL NOISE§r + value.indirect_effect.4 = SSRT (AO + GI) - §cLOTS OF VISUAL NOISE§r option.RAY_COUNT = RT Ray Count option.HANDHELD_LIGHT_RANGE = Handheld Light Range @@ -479,7 +497,6 @@ screen.World = World option.SNELLS_WINDOW = Snell's Window option.MINIMUM_WATER_ABSORBANCE = Minimum Water Absorbance value.MINIMUM_WATER_ABSORBANCE.-1 = AUTO - option.WATER_SUN_REFLECTION_STRENGTH = Water Sun Reflection Strength screen.Water_fog_color = Water Fog Settings option.Dirt_Scatter_R = Scatter Red (dirt) @@ -635,8 +652,7 @@ screen.Shadows.comment = Configure the shadows from the sun to your liking. option.SCREENSPACE_CONTACT_SHADOWS.comment = §bWhat is this?§r These are shadows for things that are far away, and on small details nearby. §aPERFORMANCE COST:§r low to medium; it is more expensive at higher resolutions. option.RENDER_ENTITY_SHADOWS.comment = §bWhat is this?§r Shadows on all types of entities, like mobs, chests, banners, or signs. §aPERFORMANCE COST:§r low to high; it is very expensive when there are many entities nearby. option.shadowMapResolution.comment = The quality of shadows from the sun casted by things in the world. §aPERFORMANCE COST:§r medium to very high; Shadows must render the 3D world a second time from the perspective of the sun, this is why it cuts performance in half. - option.shadowDistance.comment = The maximum distance the shadowmap can render. The distance is not measured linearly in chunks when set to un-optimized. §aPERFORMANCE COST:§r medium to very high; If the chunk render distance is high, the shadows will become more expensive. - option.OPTIMIZED_SHADOW_DISTANCE.comment = Render the shadows only in a sphere around you, limited to a max distance in chunks. Un-optimized does not render the shadows in a sphere and is not locked to chunks; it can cover alot more area with the same distance settings. The distance is not measured in chunks when set to un-optimized. §aPERFORMANCE COST:§r low to medium. Optimized is faster, and unoptimized is slower. + option.shadowDistance.comment = The maximum distance the shadowmap can render. §aPERFORMANCE COST:§r medium to very high; If the chunk render distance is high, the shadows will become more expensive. screen.Filtering.comment = Configure the filtering effects applied to the shadows. option.SHADOW_FILTER_SAMPLE_COUNT.comment = The quality of the basic shadow filter. This filter just softens the shadows. §aPERFORMANCE COST:§r low to medium; Increasing this should reduce some noise at the edge of shadows. option.Min_Shadow_Filter_Radius.comment = The maximum softness of the basic shadow filter. @@ -646,16 +662,16 @@ screen.Shadows.comment = Configure the shadows from the sun to your liking. option.Max_Filter_Depth.comment = Configure the size of the sun. If the sun is larger, shadows get softer closer to what casts them. screen.Ambient_light.comment = Configure settings related to the lighting in shaded places - option.AO_Strength.comment = Configure the strength of the ambient occlusion created by SSAO, GTAO, RTAO, and SSGI. §bWhat is this?§r ambient occlusion is the small soft shadows in corners and such. - option.GI_Strength.comment = Configure the strength of the global illumination created by SSGI. §bWhat is this?§r global illumination in this scenario specifically is the light bouncing off a surface and onto some other area. - option.HQ_SSGI.comment = Toggle long range screen-space global illumination. §aPERFORMANCE COST:§r very high + option.AO_Strength.comment = Configure the strength of the ambient occlusion created by SSAO, GTAO, and SSRT. §bWhat is this?§r ambient occlusion is the small soft shadows in corners and such. + option.GI_Strength.comment = Configure the strength of the global illumination created by SSRT. §bWhat is this?§r global illumination in this scenario specifically is the light bouncing off a surface and onto some other area. + option.HQ_SSGI.comment = Toggle long range screen-space raytracing. this will allow SSRT lighting to travel ALOT farther within the scene from where it bounces/casts shadows. §aPERFORMANCE COST:§r very high option.Hand_Held_lights.comment = Toggle shader-side hand held lightsources. §aPERFORMANCE COST:§r very low - option.SKY_CONTRIBUTION_IN_SSRT.comment = Allow the RTAO or SSGI to take the entire sky and fog into account to create high quality lighting for shaded areas. This may introduce more noise. §aPERFORMANCE COST:§r medium + option.SKY_CONTRIBUTION_IN_SSRT.comment = Allow the SSRT to take the entire sky and fog into account to create high quality lighting for shaded areas. This may introduce more noise. §aPERFORMANCE COST:§r medium option.ambientOcclusionLevel.comment = Configure the strength of the ambient occlusion from vanilla minecraft. §bWhat is this?§r This ambient occlusion is in minecraft even without shaders enabled. option.ambient_brightness.comment = Configure the brightnes of lighting in shaded places option.MIN_LIGHT_AMOUNT.comment = Configure the minimum amount of light that can be in shaded places. - option.indirect_effect.comment = Toggle different types of effects to make lighting in shaded places higher quality. §aPERFORMANCE COSTS:§r. Vanilla AO: very low. SSAO: low to medium. GTAO: medium to high. RTAO or SSGI: high to very high + option.indirect_effect.comment = Toggle different types of effects to make lighting in shaded places higher quality. §aPERFORMANCE COSTS:§r. Vanilla AO: very low. SSAO: low to medium. GTAO: medium to high. SSRT: high to very high - GI is slower screen.Ambient_Colors.comment = Configure the color of light in shaded areas. screen.Torch_Colors.comment = Configure the color of light from torches or other placed lightsources. diff --git a/shaders/lib/diffuse_lighting.glsl b/shaders/lib/diffuse_lighting.glsl index 4933439..b9f01c7 100644 --- a/shaders/lib/diffuse_lighting.glsl +++ b/shaders/lib/diffuse_lighting.glsl @@ -36,7 +36,6 @@ vec3 doBlockLightLighting( float lightmapCurve = mix(lightmapLight, 2.5, lightmapBrightspot); vec3 blockLight = lightmapCurve * lightColor; - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store vec4 lpvSample = SampleLpvLinear(lpvPos); #ifdef VANILLA_LIGHTMAP_MASK @@ -51,7 +50,11 @@ vec3 doBlockLightLighting( voxelRangeFalloff = 1.0 - pow(1.0-pow(voxelRangeFalloff,1.5),3.0); // outside the voxel volume, lerp to vanilla lighting as a fallback - blockLight = mix(blockLight, lpvSample.rgb, voxelRangeFalloff); + // blockLight = mix(blockLight, lpvSample.rgb, voxelRangeFalloff); + + // to fix optifine/continuity custom emissives, only allow the vanilla lightmap at high torch light levels. + vec3 mix_lpvsample = mix(max(lpvSample.rgb, lightColor * 2.5 * min(max(lightmap-0.999,0.0)/(1.0-0.999),1.0)), lpvSample.rgb, clamp(dot(lpvSample.rgb,vec3(300.0)),0.0,1.0)); + blockLight = mix(blockLight, mix_lpvsample, voxelRangeFalloff); #ifdef Hand_Held_lights // create handheld lightsources @@ -74,9 +77,9 @@ vec3 doIndirectLighting( // float lightmapCurve = pow(1.0-pow(1.0-lightmap,2.0),2.0); // float lightmapCurve = lightmap*lightmap; - float lightmapCurve = (pow(lightmap,15.0)*2.0 + lightmap*lightmap)*0.5; + float lightmapCurve = (pow(lightmap,15.0)*2.0 + lightmap*lightmap)/3.0; //make sure its 0.0-1.0 - vec3 indirectLight = lightColor * lightmapCurve * ambient_brightness * 0.7; + vec3 indirectLight = lightColor * lightmapCurve * ambient_brightness; // indirectLight = max(indirectLight, minimumLightColor * (MIN_LIGHT_AMOUNT * 0.02 * 0.2 + nightVision)); indirectLight += minimumLightColor * (MIN_LIGHT_AMOUNT * 0.02 * 0.2 + nightVision*0.02); diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 28ab20e..d08f159 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -24,7 +24,6 @@ #define MINIMUM_WATER_ABSORBANCE -1 // [-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 60 70 80 90 100] #define rayMarchSampleCount 2 // [1 2 3 4 6 8 12 16 32 64] #define Water_Top_Layer 62.90 // [0.90 1.90 2.90 3.90 4.90 5.90 6.90 7.90 8.90 9.90 10.90 11.90 12.90 13.90 14.90 15.90 16.90 17.90 18.90 19.90 20.90 21.90 22.90 23.90 24.90 25.90 26.90 27.90 28.90 29.90 30.90 31.90 32.90 33.90 34.90 35.90 36.90 37.90 38.90 39.90 40.90 41.90 42.90 43.90 44.90 45.90 46.90 47.90 48.90 49.90 50.90 51.90 52.90 53.90 54.90 55.90 56.90 57.90 58.90 59.90 60.90 61.90 62.90 63.90 64.90 65.90 66.90 67.90 68.90 69.90 70.90 71.90 72.90 73.90 74.90 75.90 76.90 77.90 78.90 79.90 80.90 81.90 82.90 83.90 84.90 85.90 86.90 87.90 88.90 89.90 90.90 91.90 92.90 93.90 94.90 95.90 96.90 97.90 98.90 99.90 100.90 101.90 102.90 103.90 104.90 105.90 106.90 107.90 108.90 109.90 110.90 111.90 112.90 113.90 114.90 115.90 116.90 117.90 118.90 119.90 120.90 121.90 122.90 123.90 124.90 125.90 126.90 127.90 128.90 129.90 130.90 131.90 132.90 133.90 134.90 135.90 136.90 137.90 138.90 139.90 140.90 141.90 142.90 143.90 144.90 145.90 146.90 147.90 148.90 149.90 150.90 151.90 152.90 153.90 154.90 155.90 156.90 157.90 158.90 159.90 160.90 161.90 162.90 163.90 164.90 165.90 166.90 167.90 168.90 169.90 170.90 171.90 172.90 173.90 174.90 175.90 176.90 177.90 178.90 179.90 180.90 181.90 182.90 183.90 184.90 185.90 186.90 187.90 188.90 189.90 190.90 191.90 192.90 193.90 194.90 195.90 196.90 197.90 198.90 199.90] -#define WATER_SUN_REFLECTION_STRENGTH 1 // [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70] #define FAKE_REFRACTION_EFFECT #define FAKE_DISPERSION_EFFECT diff --git a/shaders/lib/specular.glsl b/shaders/lib/specular.glsl index 7496f71..965d8bf 100644 --- a/shaders/lib/specular.glsl +++ b/shaders/lib/specular.glsl @@ -103,45 +103,43 @@ float shlickFresnelRoughness(float XdotN, float roughness){ vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, bool hand, inout float reflectionLength, float fresnel){ - float biasAmount = 0.00005;//mix(0.00035, 0.00005, pow(fresnel,0.01)); + float biasAmount = 0.000075; vec3 clipPosition = toClipSpace3(position); - float rayLength = ((position.z + dir.z * far*sqrt(3.)) > -near) ? - (-near -position.z) / dir.z : far*sqrt(3.); - vec3 direction = normalize(toClipSpace3(position+dir*rayLength)-clipPosition); //convert to clip space - direction.xy = normalize(direction.xy); + float rayLength = ((position.z + dir.z * far*sqrt(3.)) > -near) ? (-near -position.z) / dir.z : far*sqrt(3.); + + vec3 direction = toClipSpace3(position + dir*rayLength) - clipPosition; //convert to clip space //get at which length the ray intersects with the edge of the screen - vec3 maxLengths = (step(0.0,direction)-clipPosition) / direction; - float mult = min(min(maxLengths.x,maxLengths.y),maxLengths.z); + vec3 maxLengths = (step(0.0, direction) - clipPosition) / direction; + float mult = min(min(maxLengths.x, maxLengths.y), maxLengths.z); + vec3 stepv = direction * mult / quality; - vec3 stepv = direction * mult / quality*vec3(RENDER_SCALE,1.0); + clipPosition.xy *= RENDER_SCALE; + stepv.xy *= RENDER_SCALE; - vec3 spos = clipPosition*vec3(RENDER_SCALE,1.0) + stepv*(dither-0.5); + vec3 spos = clipPosition + stepv*dither; #if defined DEFERRED_SPECULAR && defined TAA spos.xy += TAA_Offset*texelSize*0.5/RENDER_SCALE; #endif - float minZ = spos.z; + float minZ = spos.z - 0.00025 / linZ(spos.z);; float maxZ = spos.z; for (int i = 0; i <= int(quality); i++) { - float sp = invLinZ(sqrt(texelFetch2D(colortex4,ivec2(spos.xy/texelSize/4.0),0).a/65000.0)); + float sampleDepth = sqrt(texelFetch2D(colortex4,ivec2(spos.xy/texelSize/4.0),0).a/65000.0); + float sp = invLinZ(sampleDepth); - float currZ = linZ(spos.z); - float nextZ = linZ(sp); + if(sp < max(minZ, maxZ) && sp > min(minZ, maxZ)) return vec3(spos.xy/RENDER_SCALE,sp); - if(sp < max(minZ,maxZ) && sp > min(minZ,maxZ)) return vec3(spos.xy/RENDER_SCALE,sp); - - minZ = maxZ-biasAmount / currZ; + minZ = maxZ - biasAmount / linZ(spos.z); maxZ += stepv.z; spos += stepv; reflectionLength += 1.0 / quality; - } return vec3(1.1); } @@ -300,8 +298,8 @@ vec3 specularReflections( f0 = f0 == 0.0 ? 0.02 : f0; // if(isHand){ - // f0 = 0.9; - // roughness = 0.25; + // f0 = 1.0; + // roughness = 0.0; // } bool isMetal = f0 > 229.5/255.0; diff --git a/shaders/lib/volumetricClouds.glsl b/shaders/lib/volumetricClouds.glsl index 5f9b0ba..da02657 100644 --- a/shaders/lib/volumetricClouds.glsl +++ b/shaders/lib/volumetricClouds.glsl @@ -12,7 +12,7 @@ float cloud_movement = (worldTime + mod(worldDay,100)*24000.0) / 24.0 * Cloud_S float lightningFlashTimer = floor(frameTimeCounter * 11.0); float randomSeed = fract(sin(dot(vec2(lightningFlashTimer), vec2(12.9898,78.233))) * 43758.5453); -float lightningFlash = mix(0.3, 1.5, randomSeed); +float lightningFlash = mix(0.1, 2.5, randomSeed); #ifdef CUMULONIMBUS float lightningDuration = 0.75 + CUMULONIMBUS_LIGHTNING_DELAY; @@ -837,7 +837,7 @@ vec4 GetVolumetricClouds( minHeight = 600; maxHeight = cloudheight + minHeight; - cloudDist.xz = vec2(8.0); + cloudDist.xz = vec2(10.0); rayDirection = NormPlayerPos.xyz * (cloudheight/length(NormPlayerPos.xyz/cloudDist)/samples); rayPosition = getRayOrigin(rayDirection, cameraPosition, dither.y, minHeight, maxHeight); diff --git a/shaders/shaders.properties b/shaders/shaders.properties index d5aa600..6f0a53a 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -174,7 +174,7 @@ alphaTest.gbuffers_water = false alphaTest.gbuffers_skybasic = false alphaTest.gbuffers_skytextured = false -sliders = RAIN_AMBIENT_LIGHT_MODIFIER EMISSIVE_ORES_STRENGTH WATER_SUN_REFLECTION_STRENGTH RIPPLE_STRENGTH RIPPLE_INTENSITY CUSTOM_LIGHTNING_SCALE CUSTOM_LIGHTNING_R CUSTOM_LIGHTNING_G CUSTOM_LIGHTNING_B CUSTOM_LIGHTNING_TEX CUSTOM_LIGHTNING_POS_X CUSTOM_LIGHTNING_POS_Y CUSTOM_LIGHTNING_POS_Z CUMULONIMBUS_LIGHTNING_BRIGHTNESS CUMULONIMBUS_LIGHTNING_DELAY ShaderSnow ShaderSnowStrength BorderFogIntensity CAVE_DETECTION ON_FIRE_DISTORT_EFFECT_STRENGTH 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 CloudLayer3_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_l3_coverage DAY0_l3_density DAY1_l3_coverage DAY1_l3_density DAY2_l3_coverage DAY2_l3_density DAY3_l3_coverage DAY3_l3_density DAY4_l3_coverage DAY4_l3_density DAY5_l3_coverage DAY5_l3_density DAY6_l3_coverage DAY6_l3_density DAY7_l3_coverage DAY7_l3_density DAY8_l3_coverage DAY8_l3_density DAY9_l3_coverage DAY9_l3_density 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 CloudLayer3_coverage CloudLayer3_density CloudLayer3_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 Cloud_Speed_Rain Cloud_Speed_Thunder 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 Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Strength 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 = RAIN_AMBIENT_LIGHT_MODIFIER EMISSIVE_ORES_STRENGTH RIPPLE_STRENGTH RIPPLE_INTENSITY CUSTOM_LIGHTNING_SCALE CUSTOM_LIGHTNING_R CUSTOM_LIGHTNING_G CUSTOM_LIGHTNING_B CUSTOM_LIGHTNING_TEX CUSTOM_LIGHTNING_POS_X CUSTOM_LIGHTNING_POS_Y CUSTOM_LIGHTNING_POS_Z CUMULONIMBUS_LIGHTNING_BRIGHTNESS CUMULONIMBUS_LIGHTNING_DELAY ShaderSnow ShaderSnowStrength BorderFogIntensity CAVE_DETECTION ON_FIRE_DISTORT_EFFECT_STRENGTH 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 CloudLayer3_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_l3_coverage DAY0_l3_density DAY1_l3_coverage DAY1_l3_density DAY2_l3_coverage DAY2_l3_density DAY3_l3_coverage DAY3_l3_density DAY4_l3_coverage DAY4_l3_density DAY5_l3_coverage DAY5_l3_density DAY6_l3_coverage DAY6_l3_density DAY7_l3_coverage DAY7_l3_density DAY8_l3_coverage DAY8_l3_density DAY9_l3_coverage DAY9_l3_density 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 CloudLayer3_coverage CloudLayer3_density CloudLayer3_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 Cloud_Speed_Rain Cloud_Speed_Thunder 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 Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Strength 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 = \ @@ -360,7 +360,6 @@ SHADER_VERSION_LABEL \ REFRACTION_SMUDGE MINIMUM_WATER_ABSORBANCE \ SNELLS_WINDOW Water_Top_Layer \ WATER_WAVE_STRENGTH WATER_WAVE_SPEED \ - WATER_SUN_REFLECTION_STRENGTH 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