From 675aded734636dea778871ac9ba8ed114c2ea281 Mon Sep 17 00:00:00 2001 From: Xonk Date: Mon, 26 Jun 2023 20:18:17 -0400 Subject: [PATCH] Add TONS off stuff to the LANG file for english. clean up unused stuff a little more. fix cloud fog not having moonlight. --- shaders/block.properties | 6 +- shaders/composite1.fsh | 2 +- shaders/composite2.fsh | 9 - shaders/composite2.vsh | 15 -- shaders/composite3.fsh | 2 +- shaders/deferred.vsh | 2 +- shaders/gbuffers_all_particles.fsh | 8 +- shaders/gbuffers_all_particles.vsh | 9 +- shaders/gbuffers_all_solid.fsh | 29 +-- shaders/gbuffers_all_solid.vsh | 19 +- shaders/gbuffers_all_translucent.fsh | 136 +++++++------- shaders/gbuffers_all_translucent.vsh | 13 +- shaders/lang/en_us.lang | 268 +++++++++++++++++++++++---- shaders/lib/settings.glsl | 14 +- shaders/shaders.properties | 36 ++-- 15 files changed, 396 insertions(+), 172 deletions(-) diff --git a/shaders/block.properties b/shaders/block.properties index 2b5da46..8d9c49b 100644 --- a/shaders/block.properties +++ b/shaders/block.properties @@ -1,6 +1,10 @@ #if MC_VERSION >= 11300 + block.2200 = minecraft:oak_sign minecraft:spruce_sign minecraft:birch_sign minecraft:jungle_sign minecraft:acacia_sign minecraft:dark_oak_sign minecraft:mangrove_sign minecraft:crimson_sign minecraft:warped_sign minecraft:oak_wall_sign minecraft:spruce_wall_sign minecraft:birch_wall_sign minecraft:jungle_wall_sign minecraft:acacia_wall_sign minecraft:dark_wall_oak_sign minecraft:mangrove_wall_sign minecraft:crimson_wall_sign minecraft:warped_wall_sign + + + block.2100 = minecraft:end_portal ####### ----- SSS and waving ----- ####### @@ -9,7 +13,7 @@ block.10001 = minecraft:beetroots minecraft:potatoes minecraft:carrots minecraft:wheat minecraft:nether_wart minecraft:kelp minecraft:large_fern:half=upper minecraft:peony:half=upper minecraft:rose_bush:half=upper minecraft:lilac:half=upper minecraft:crimson_roots minecraft:nether_sprouts minecraft:warped_roots minecraft:seagrass minecraft:tall_seagrass:half=upper minecraft:sunflower:half=upper minecraft:tall_grass:half=upper minecraft:wither_rose minecraft:lily_of_the_valley minecraft:cornflower minecraft:sweet_berry_bush minecraft:oxeye_daisy minecraft:pink_tulip minecraft:white_tulip minecraft:orange_tulip minecraft:red_tulip minecraft:azure_bluet minecraft:allium minecraft:blue_orchid minecraft:poppy minecraft:dandelion minecraft:grass minecraft:dead_bush minecraft:oak_sapling minecraft:spruce_sapling minecraft:birch_sapling minecraft:jungle_sapling minecraft:acacia_sapling minecraft:dark_oak_sapling minecraft:fern ##air waving - block.10003 =minecraft:azalea_leaves minecraft:flowering_azalea_leaves minecraft:cherry_leaves minecraft:mangrove_leaves minecraft:vine minecraft:oak_leaves minecraft:spruce_leaves minecraft:birch_leaves minecraft:jungle_leaves minecraft:acacia_leaves minecraft:dark_oak_leaves + block.10003 = minecraft:azalea_leaves minecraft:flowering_azalea_leaves minecraft:cherry_leaves minecraft:mangrove_leaves minecraft:vine minecraft:oak_leaves minecraft:spruce_leaves minecraft:birch_leaves minecraft:jungle_leaves minecraft:acacia_leaves minecraft:dark_oak_leaves ####### ----- SSS ----- ####### diff --git a/shaders/composite1.fsh b/shaders/composite1.fsh index 62e4197..5083792 100644 --- a/shaders/composite1.fsh +++ b/shaders/composite1.fsh @@ -847,7 +847,7 @@ void main() { vec3 ambientCoefs = normal/dot(abs(normal),vec3(1.)); - float lightleakfix = clamp(eyeBrightness.y/240.0 + lightmap.y,0.0,1.0); + float lightleakfix = clamp(pow(eyeBrightnessSmooth.y/240. + lightmap.y,2) ,0.0,1.0); vec3 DirectLightColor = (lightCol.rgb/80.0); DirectLightColor *= clamp(abs(WsunVec.y)*2,0.,1.); diff --git a/shaders/composite2.fsh b/shaders/composite2.fsh index 302c8a3..2da532c 100644 --- a/shaders/composite2.fsh +++ b/shaders/composite2.fsh @@ -11,15 +11,6 @@ flat varying vec3 moonColor; flat varying vec3 averageSkyCol_Clouds; flat varying vec3 averageSkyCol; - -flat varying vec3 ambientUp; -flat varying vec3 ambientLeft; -flat varying vec3 ambientRight; -flat varying vec3 ambientB; -flat varying vec3 ambientF; -flat varying vec3 ambientDown; -flat varying vec3 avgAmbient; - flat varying float tempOffsets; flat varying float fogAmount; flat varying float VFAmount; diff --git a/shaders/composite2.vsh b/shaders/composite2.vsh index bb16a71..a705c62 100644 --- a/shaders/composite2.vsh +++ b/shaders/composite2.vsh @@ -7,27 +7,12 @@ flat varying vec3 averageSkyCol_Clouds; flat varying vec3 averageSkyCol; flat varying vec4 lightCol; -flat varying vec3 ambientUp; -flat varying vec3 ambientLeft; -flat varying vec3 ambientRight; -flat varying vec3 ambientB; -flat varying vec3 ambientF; -flat varying vec3 ambientDown; - - flat varying vec3 sunColor; flat varying vec3 moonColor; -flat varying vec3 avgAmbient; flat varying vec2 TAA_Offset; - flat varying float tempOffsets; -flat varying float fogAmount; -flat varying float VFAmount; -flat varying float FogSchedule; - - flat varying vec3 WsunVec; flat varying vec3 refractedSunVec; diff --git a/shaders/composite3.fsh b/shaders/composite3.fsh index f79259d..98070d6 100644 --- a/shaders/composite3.fsh +++ b/shaders/composite3.fsh @@ -313,7 +313,7 @@ void main() { color.rgb *= mix(1.0, (1.0-darknessLightFactor*2.0) * clamp(1.0-pow(length(fragpos2)*(darknessFactor*0.07),2.0),0.0,1.0), darknessFactor); #ifdef display_LUT - vec2 movedTC = texcoord ; + vec2 movedTC = texcoord; vec3 thingy = texture2D(colortex4,movedTC).rgb / 150. * 5.0; if(luma(thingy) > 0.0 ) color.rgb = thingy; #endif diff --git a/shaders/deferred.vsh b/shaders/deferred.vsh index f334283..53bf7f3 100644 --- a/shaders/deferred.vsh +++ b/shaders/deferred.vsh @@ -89,7 +89,7 @@ void main() { vec3 pos = normalize(vec3(0,1,0)); int maxIT = 9; for (int i = 0; i < maxIT; i++) { - pos.xy += normalize(sample3x3[i] * vec2(1.0,0.5)); + pos.xy += normalize(sample3x3[i] * vec2(0.5,0.5)); averageSkyCol_Clouds += 2.0*skyCloudsFromTex(pos,colortex4).rgb/maxIT/150.; pos = normalize(vec3(0,1,0)); diff --git a/shaders/gbuffers_all_particles.fsh b/shaders/gbuffers_all_particles.fsh index 0576306..7bd6bac 100644 --- a/shaders/gbuffers_all_particles.fsh +++ b/shaders/gbuffers_all_particles.fsh @@ -2,8 +2,12 @@ varying vec4 lmtexcoord; varying vec4 color; +flat varying vec3 averageSkyCol_Clouds; +// flat varying vec3 averageSkyCol; + flat varying vec4 lightCol; //main light source color (rgb),used light source(1=sun,-1=moon) -flat varying vec3 avgAmbient; +// flat varying vec3 sunColor; +// flat varying vec3 moonColor; uniform vec3 sunVec; flat varying vec3 WsunVec; @@ -143,7 +147,7 @@ void main() { float phase = phaseg(clamp(dot(np3, WsunVec),0.0,1.0),(1.0-gl_FragData[0].a) * 0.8 + 0.1) + 1.0 ; vec3 Direct_lighting = DoDirectLighting(lightCol.rgb/80., Shadows, 1.0, 0.0) * phase * lightleakfix; - vec3 Indirect_lighting = DoAmbientLighting(avgAmbient, vec3(TORCH_R,TORCH_G,TORCH_B), lmtexcoord.zw, 5.0); + vec3 Indirect_lighting = DoAmbientLighting(averageSkyCol_Clouds, vec3(TORCH_R,TORCH_G,TORCH_B), lmtexcoord.zw, 5.0); // gl_FragData[0].a = TEXTURE.a; gl_FragData[0].rgb = (Direct_lighting + Indirect_lighting) * Albedo; diff --git a/shaders/gbuffers_all_particles.vsh b/shaders/gbuffers_all_particles.vsh index ed2fe15..886c11d 100644 --- a/shaders/gbuffers_all_particles.vsh +++ b/shaders/gbuffers_all_particles.vsh @@ -22,7 +22,9 @@ varying vec4 normalMat; flat varying vec3 WsunVec; flat varying vec4 lightCol; //main light source color (rgb),used light source(1=sun,-1=moon) -flat varying vec3 avgAmbient; + +flat varying vec3 averageSkyCol_Clouds; +// flat varying vec3 averageSkyCol; uniform mat4 gbufferModelViewInverse; uniform vec3 sunPosition; @@ -55,8 +57,9 @@ void main() { gl_Position = ftransform(); color = gl_Color; - avgAmbient = texelFetch2D(colortex4,ivec2(0,37),0).rgb; - + averageSkyCol_Clouds = texelFetch2D(colortex4,ivec2(0,37),0).rgb; + // averageSkyCol = texelFetch2D(colortex4,ivec2(1,37),0).rgb; + vec3 sc = texelFetch2D(colortex4,ivec2(6,37),0).rgb; lightCol.a = float(sunElevation > 1e-5)*2-1.; lightCol.rgb = sc; diff --git a/shaders/gbuffers_all_solid.fsh b/shaders/gbuffers_all_solid.fsh index 73c9a65..f052d7b 100644 --- a/shaders/gbuffers_all_solid.fsh +++ b/shaders/gbuffers_all_solid.fsh @@ -4,7 +4,10 @@ #include "/lib/settings.glsl" flat varying int NameTags; -flat varying float SSSAMOUNT; + +#ifdef HAND +#undef POM +#endif #ifndef USE_LUMINANCE_AS_HEIGHTMAP #ifndef MC_NORMAL_MAP @@ -79,14 +82,17 @@ uniform sampler2D depthtex0; in vec3 velocity; +flat varying int PHYSICSMOD_SNOW; flat varying float blockID; + +flat varying float SSSAMOUNT; flat varying float EMISSIVE; flat varying int LIGHTNING; flat varying int PORTAL; +flat varying int SIGN; + flat varying float HELD_ITEM_BRIGHTNESS; - -flat varying int PHYSICSMOD_SNOW; uniform float noPuddleAreas; @@ -251,9 +257,7 @@ float ld(float dist) { /* RENDERTARGETS: 1,7,8,15 */ void main() { - - - + @@ -296,9 +300,7 @@ void main() { #endif #endif #endif - - - #ifdef POM +#ifdef POM // vec2 tempOffset=offsets[framemod8]; vec2 adjustedTexCoord = fract(vtexcoord.st)*vtexcoordam.pq+vtexcoordam.st; // vec3 fragpos = toScreenSpace(gl_FragCoord.xyz*vec3(texelSize/RENDER_SCALE,1.0)-vec3(vec2(tempOffset)*texelSize*0.5,0.0)); @@ -308,7 +310,7 @@ void main() { gl_FragDepth = gl_FragCoord.z; #ifdef WORLD - if (dist < MAX_OCCLUSION_DISTANCE && PORTAL > 0) { + if (dist < MAX_OCCLUSION_DISTANCE) { float depthmap = readNormal(vtexcoord.st).a; float used_POM_DEPTH = 1.0; @@ -512,7 +514,8 @@ void main() { gl_FragData[0] = vec4(encodeVec2(Albedo.x,data1.x),encodeVec2(Albedo.y,data1.y),encodeVec2(Albedo.z,data1.z),encodeVec2(data1.w,Albedo.w)); gl_FragData[1].a = 0.0; - #else +#else + float bias = Texture_MipMap_Bias - blueNoise()*0.5; @@ -622,7 +625,6 @@ void main() { if(LIGHTNING > 0) Albedo = vec4(1); - #ifdef AEROCHROME_MODE vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631), AEROCHROME_PINKNESS); float gray = dot(Albedo.rgb, vec3(0.2, 01.0, 0.07)); @@ -683,7 +685,8 @@ void main() { gl_FragData[1].a = 0.0; #endif - #endif + +#endif #ifdef WORLD gl_FragData[5].x = 0; diff --git a/shaders/gbuffers_all_solid.vsh b/shaders/gbuffers_all_solid.vsh index ddce639..4c45e25 100644 --- a/shaders/gbuffers_all_solid.vsh +++ b/shaders/gbuffers_all_solid.vsh @@ -10,6 +10,10 @@ Read the terms of modification and sharing before changing something below pleas */ +#ifdef HAND +#undef POM +#endif + #ifndef USE_LUMINANCE_AS_HEIGHTMAP #ifndef MC_NORMAL_MAP #undef POM @@ -53,17 +57,19 @@ flat varying float HELD_ITEM_BRIGHTNESS; -flat varying int LIGHTNING; +flat varying int PHYSICSMOD_SNOW; +flat varying int NameTags; + flat varying float SSSAMOUNT; flat varying float EMISSIVE; -flat varying int NameTags; +flat varying int LIGHTNING; flat varying int PORTAL; +flat varying int SIGN; in vec3 at_velocity; out vec3 velocity; -flat varying int PHYSICSMOD_SNOW; uniform mat4 gbufferModelView; uniform mat4 gbufferModelViewInverse; @@ -71,6 +77,7 @@ attribute vec4 mc_midTexCoord; uniform vec3 cameraPosition; uniform vec2 texelSize; uniform int framemod8; + const vec2[8] offsets = vec2[8](vec2(1./8.,-3./8.), vec2(-1.,3.)/8., vec2(5.0,1.)/8., @@ -212,12 +219,12 @@ void main() { - - PORTAL = 0; + SIGN = 0; #ifdef WORLD - if(blockEntityId == 2100) PORTAL = 255; + if(blockEntityId == 2200) SIGN = 1; + if(blockEntityId == 2100) PORTAL = 1; #endif NameTags = 0; diff --git a/shaders/gbuffers_all_translucent.fsh b/shaders/gbuffers_all_translucent.fsh index 6ba5755..0ad040e 100644 --- a/shaders/gbuffers_all_translucent.fsh +++ b/shaders/gbuffers_all_translucent.fsh @@ -54,10 +54,13 @@ uniform sampler2D specular; uniform int frameCounter; uniform int isEyeInWater; uniform ivec2 eyeBrightness; +uniform ivec2 eyeBrightnessSmooth; flat varying vec4 lightCol; //main light source color (rgb),used light source(1=sun,-1=moon) -flat varying vec3 avgAmbient; + +flat varying vec3 averageSkyCol_Clouds; +flat varying vec3 averageSkyCol; @@ -410,9 +413,9 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize vec2 lightmaps2 = lmtexcoord.zw; - float lightleakfix = clamp(eyeBrightness.y/240.0 + lightmaps2.y,0.0,1.0); + float lightleakfix = clamp(pow(eyeBrightnessSmooth.y/240. + lightmaps2.y,2) ,0.0,1.0); - vec3 Indirect_lighting = DoAmbientLighting(avgAmbient, vec3(TORCH_R,TORCH_G,TORCH_B), lightmaps2, skylight); + vec3 Indirect_lighting = DoAmbientLighting(averageSkyCol_Clouds, vec3(TORCH_R,TORCH_G,TORCH_B), lightmaps2, skylight); vec3 Direct_lighting = DoDirectLighting(lightCol.rgb/80.0, Shadows, NdotL, 0.0); vec3 FinalColor = (Direct_lighting + Indirect_lighting) * Albedo; @@ -422,74 +425,81 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize FinalColor *= alphashit; #endif - - vec2 SpecularTex = texture2D(specular, lmtexcoord.xy, Texture_MipMap_Bias).rg; - - SpecularTex = (iswater > 0.0 && iswater < 0.9) && SpecularTex.r > 0.0 && SpecularTex.g < 0.9 ? SpecularTex : vec2(1.0,0.1); - - float roughness = max(pow(1.0-SpecularTex.r,2.0),0.05); - float f0 = SpecularTex.g; - - if (iswater > 0.0){ - vec3 Reflections_Final = vec3(0.0); - - float indoors = clamp((lmtexcoord.w-0.6)*5.0, 0.0,1.0); - - vec3 reflectedVector = reflect(normalize(fragpos), normal); - float normalDotEye = dot(normal, normalize(fragpos)); - float fresnel = pow(clamp(1.0 + normalDotEye,0.0,1.0), 5.0); - // float unchangedfresnel = fresnel; - - // snells window looking thing - if(isEyeInWater == 1 && iswater > 0.99) fresnel = clamp(pow(1.66 + normalDotEye,25),0.02,1.0); - + #ifdef WATER_REFLECTIONS + vec2 SpecularTex = texture2D(specular, lmtexcoord.xy, Texture_MipMap_Bias).rg; - #ifdef PhysicsMod_support - if(isEyeInWater == 1 && physics_iterationsNormal > 0.0) fresnel = clamp( 1.0 - (pow( normalDotEye * 1.66 ,25)),0.02,1.0); - #else - if(isEyeInWater == 1) fresnel = clamp( 1.0 - (pow( normalDotEye * 1.66 ,25)),0.02,1.0); - #endif + SpecularTex = (iswater > 0.0 && iswater < 0.9) && SpecularTex.r > 0.0 && SpecularTex.g < 0.9 ? SpecularTex : vec2(1.0,0.1); + + float roughness = max(pow(1.0-SpecularTex.r,2.0),0.05); + float f0 = SpecularTex.g; + + if (iswater > 0.0){ + vec3 Reflections_Final = vec3(0.0); + vec4 Reflections = vec4(0.0); + vec3 SkyReflection = vec3(0.0); + vec3 SunReflection = vec3(0.0); + + float indoors = clamp((lmtexcoord.w-0.6)*5.0, 0.0,1.0); + + vec3 reflectedVector = reflect(normalize(fragpos), normal); + float normalDotEye = dot(normal, normalize(fragpos)); + float fresnel = pow(clamp(1.0 + normalDotEye,0.0,1.0), 5.0); + // float unchangedfresnel = fresnel; + + // snells window looking thing + if(isEyeInWater == 1 && iswater > 0.99) fresnel = clamp(pow(1.66 + normalDotEye,25),0.02,1.0); + + #ifdef PhysicsMod_support + if(isEyeInWater == 1 && physics_iterationsNormal > 0.0) fresnel = clamp( 1.0 - (pow( normalDotEye * 1.66 ,25)),0.02,1.0); + #else + if(isEyeInWater == 1) fresnel = clamp( 1.0 - (pow( normalDotEye * 1.66 ,25)),0.02,1.0); + #endif - fresnel = mix(f0, 1.0, fresnel); - - vec3 wrefl = mat3(gbufferModelViewInverse)*reflectedVector; - - // SSR, Sky, and Sun reflections - vec4 Reflections = vec4(0.0); - vec3 SkyReflection = skyCloudsFromTex(wrefl,colortex4).rgb / 150. * 5.; - vec3 SunReflection = Direct_lighting * GGX(normal, -normalize(fragpos), lightSign*sunVec, roughness, vec3(f0)); - - if(iswater > 0.0){ + fresnel = mix(f0, 1.0, fresnel); + + vec3 wrefl = mat3(gbufferModelViewInverse)*reflectedVector; + + // SSR, Sky, and Sun reflections + #ifdef WATER_BACKGROUND_SPECULAR + SkyReflection = skyCloudsFromTex(wrefl,colortex4).rgb / 150. * 5.; + #endif + #ifdef WATER_SUN_SPECULAR + SunReflection = Direct_lighting * GGX(normal, -normalize(fragpos), lightSign*sunVec, roughness, vec3(f0)); + #endif #ifdef SCREENSPACE_REFLECTIONS - vec3 rtPos = rayTrace(reflectedVector,fragpos.xyz, interleaved_gradientNoise(), fresnel, isEyeInWater == 1); - if (rtPos.z < 1.){ - vec3 previousPosition = mat3(gbufferModelViewInverse) * toScreenSpace(rtPos) + gbufferModelViewInverse[3].xyz + cameraPosition-previousCameraPosition; - previousPosition = mat3(gbufferPreviousModelView) * previousPosition + gbufferPreviousModelView[3].xyz; - previousPosition.xy = projMAD(gbufferPreviousProjection, previousPosition).xy / -previousPosition.z * 0.5 + 0.5; - if (previousPosition.x > 0.0 && previousPosition.y > 0.0 && previousPosition.x < 1.0 && previousPosition.x < 1.0) { - Reflections.a = 1.0; - Reflections.rgb = texture2D(colortex5,previousPosition.xy).rgb; + if(iswater > 0.0){ + vec3 rtPos = rayTrace(reflectedVector,fragpos.xyz, interleaved_gradientNoise(), fresnel, isEyeInWater == 1); + if (rtPos.z < 1.){ + vec3 previousPosition = mat3(gbufferModelViewInverse) * toScreenSpace(rtPos) + gbufferModelViewInverse[3].xyz + cameraPosition-previousCameraPosition; + previousPosition = mat3(gbufferPreviousModelView) * previousPosition + gbufferPreviousModelView[3].xyz; + previousPosition.xy = projMAD(gbufferPreviousProjection, previousPosition).xy / -previousPosition.z * 0.5 + 0.5; + if (previousPosition.x > 0.0 && previousPosition.y > 0.0 && previousPosition.x < 1.0 && previousPosition.x < 1.0) { + Reflections.a = 1.0; + Reflections.rgb = texture2D(colortex5,previousPosition.xy).rgb; + } } } #endif + + float visibilityFactor = clamp(exp2((pow(roughness,3.0) / f0) * -4),0,1); + + Reflections_Final = mix(SkyReflection*indoors, Reflections.rgb, Reflections.a); + Reflections_Final = mix(FinalColor, Reflections_Final, fresnel * visibilityFactor); + Reflections_Final += SunReflection * lightleakfix; + + gl_FragData[0].rgb = Reflections_Final; + + //correct alpha channel with fresnel + gl_FragData[0].a = mix(gl_FragData[0].a, 1.0, fresnel); + + if (gl_FragData[0].r > 65000.) gl_FragData[0].rgba = vec4(0.); + + } else { + gl_FragData[0].rgb = FinalColor; } - float visibilityFactor = clamp(exp2((pow(roughness,3.0) / f0) * -4),0,1); - - Reflections_Final = mix(SkyReflection*indoors, Reflections.rgb, Reflections.a); - Reflections_Final = mix(FinalColor, Reflections_Final, fresnel * visibilityFactor); - Reflections_Final += SunReflection * lightleakfix; - - gl_FragData[0].rgb = Reflections_Final; - - //correct alpha channel with fresnel - float alpha0 = gl_FragData[0].a; - gl_FragData[0].a = mix(alpha0, 1.0, fresnel); - - if (gl_FragData[0].r > 65000.) gl_FragData[0].rgba = vec4(0.); - - } else { + #else gl_FragData[0].rgb = FinalColor; - } + #endif #ifndef HAND gl_FragData[1] = vec4(Albedo,iswater); diff --git a/shaders/gbuffers_all_translucent.vsh b/shaders/gbuffers_all_translucent.vsh index 38a11e6..51bb322 100644 --- a/shaders/gbuffers_all_translucent.vsh +++ b/shaders/gbuffers_all_translucent.vsh @@ -11,6 +11,12 @@ Read the terms of modification and sharing before changing something below pleas !! DO NOT REMOVE !! */ +flat varying vec3 averageSkyCol_Clouds; +flat varying vec3 averageSkyCol; + +flat varying vec4 lightCol; + + varying vec4 lmtexcoord; varying vec4 color; varying vec4 normalMat; @@ -33,9 +39,6 @@ uniform float sunElevation; varying vec4 tangent_other; -flat varying vec4 lightCol; //main light source color (rgb),used light source(1=sun,-1=moon) -flat varying vec3 avgAmbient; - uniform vec2 texelSize; uniform int framemod8; @@ -149,5 +152,7 @@ void main() { WsunVec = lightCol.a*normalize(mat3(gbufferModelViewInverse) *sunPosition); - avgAmbient = texelFetch2D(colortex4,ivec2(0,37),0).rgb; + averageSkyCol_Clouds = texelFetch2D(colortex4,ivec2(0,37),0).rgb; + averageSkyCol = texelFetch2D(colortex4,ivec2(1,37),0).rgb; + } diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index eefd818..3ca0e5b 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -1,43 +1,245 @@ -option.indirect_effect = Indirect Lighting -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 - -option.ambientOcclusionLevel = Vanilla AO Amount -option.ambient_brightness = Ambient Light Brightness -option.MIN_LIGHT_AMOUNT = Minimum Light Brightness - -option.ambient_colortype = Coloring Type -value.ambient_colortype.0 = Temperature -value.ambient_colortype.1 = RGB +screen.Sun_and_Moon_Colors = Sun/Moon Colors +option.sunPathRotation = Sun Angle +option.sun_illuminance = Sun Illuminance +option.moon_illuminance = Moon Illuminance -option.SSS_TYPE = SSS Mode -value.SSS_TYPE.0 = RTX -value.SSS_TYPE.1 = Hardcoded only -value.SSS_TYPE.2 = Hardcoded + LabSSS -value.SSS_TYPE.3 = LabSSS only -option.SSS_TYPE.comment = Hardcoded means that the shader defines what gets SSS or not. LabSSS means that the resourcepack defines what gets SSS or not. RTX is no SSS at all lmao. i had to steal this formatting, RRe36 +screen.Direct_Light = Direct Light + screen.Filtering = Shadow Filtering Settings + screen.Shadows = Shadows + option.SCREENSPACE_CONTACT_SHADOWS = Contact Shadows + option.shadowMapResolution = Shadow Resolution + option.shadowDistance = Shadow Distance -option.EMISSIVE_TYPE = Emission Mode -value.EMISSIVE_TYPE.0 = No emission -value.EMISSIVE_TYPE.1 = Hardcoded only -value.EMISSIVE_TYPE.2 = Hardcoded + Lab Emission -value.EMISSIVE_TYPE.3 = Lab Emission only -option.EMISSIVE_TYPE.comment = Hardcoded means that the shader defines what gets emission or not. Lab emission means that the resourcepack defines what gets emission or not. RTX is no SSS at all lmao. i had to steal this formatting, RRe36 +screen.Subsurface_Scattering = Sub-Surface Scattering + option.LabSSS_Curve = LabSSS Curve + option.Ambient_SSS = SSS from the sky + option.ambientsss_brightness = Sky SSS Brightness + option.SSS_TYPE = Mode + option.SSS_TYPE.comment = Hardcoded means that the shader defines what gets SSS or not. LabSSS means that the resourcepack defines what gets SSS or not. RTX is no SSS at all lmao. i had to steal this formatting, RRe36 + value.SSS_TYPE.0 = RTX + value.SSS_TYPE.1 = Hardcoded only + value.SSS_TYPE.2 = Hardcoded + LabSSS + value.SSS_TYPE.3 = LabSSS only + + +screen.Ambient_light = Ambient Light + option.AO_Strength = AO Multiplier + option.GI_Strength = GI Multiplier + option.HQ_SSGI = Long Range SSGI + option.Hand_Held_lights = Hand Held Light + option.indirect_effect = Indirect Lighting + 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 + + screen.Ambient_Colors = Ambient Light Color + option.ambient_temp = Tempurature + option.AmbientLight_R = Red Amount + option.AmbientLight_G = Green Amount + option.AmbientLight_B = Blue Amount + option.ambient_colortype = Coloring Type + value.ambient_colortype.0 = Temperature + value.ambient_colortype.1 = RGB + + screen.Torch_Colors = Torch Color + option.TORCH_AMOUNT = Torch Light Multiplier + option.TORCH_R = Red Amount + option.TORCH_G = Green Amount + option.TORCH_B = Blue Amount + + + + + + option.ambientOcclusionLevel = Vanilla AO Amount + option.ambient_brightness = Ambient Light Brightness + option.MIN_LIGHT_AMOUNT = Minimum Light Brightness + + + +screen.Fog = Fog Settings + option.VL_RENDER_RESOLUTION = Fog Resolution Scaling + option.VL_SAMPLES = Fog Samples + option.BLOOMY_FOG = Bloomy Fog Multiplier + option.Haze_amount = Atmospheric Haze Density + option.RainFog_amount = Rain Fog Multiplier + option.Cloud_Fog = Fog Inside Clouds + option.BorderFog = Chunk Border Fog + + screen.TOD_fog = Time Of Day Fog + option.TOD_Fog_mult = Fog Density Multiplier + option.Morning_Uniform_Fog = Morning Fog Density + option.Noon_Uniform_Fog = Noon Fog Density + option.Evening_Uniform_Fog = Evening Fog Density + option.Night_Uniform_Fog = Night Fog Density + + option.Morning_Cloudy_Fog = Cloudy Morning Fog Density + option.Noon_Cloudy_Fog = Cloudy Noon Fog Density + option.Evening_Cloudy_Fog = Cloudy Evening Fog Density + option.Night_Cloudy_Fog = Cloudy Night Fog Density + + screen.Biome_Fog = Biome Specific Fog + option.Biome_specific_environment = Biome Specific Fog + + screen.Cave_Fog = Cave Fog + option.Cave_Fog = Cave Fog + option.CaveFogFallOff = Fog Falloff + option.CaveFogColor_R = Fog R + option.CaveFogColor_G = Fog G + option.CaveFogColor_B = Fog B + + +screen.Clouds = Cloud Settings + option.VOLUMETRIC_CLOUDS = Volumetric Clouds + option.CLOUDS_QUALITY = Cloud Resolution Scaling + option.CLOUDS_SHADOWS = Cloud Shadows + option.Daily_Weather = Daily Weather + option.Cloud_Speed = Cloud Speed Multiplier + option.Rain_coverage = Coverage When Raining + + option.Cumulus = Cumulus Clouds + option.Cumulus_coverage = Coverage + option.Cumulus_density = Density + option.Cumulus_height = Cumulus Height + + option.Altostratus = Altostratus Clouds + option.Alto_coverage = Coverage + option.Alto_density = Density + + +screen.Climate = Climate Settings + option.Seasons = Seasonal Colors + option.Season_Length = Season Length (In Days) + option.Snowy_Winter = Snow During Winter + screen.Summer_colors = Summer Colors + option.Summer_R = Red Amount + option.Summer_G = Green Amount + option.Summer_B = Blue Amount + option.Summer_Leaf_R = Red Amount (for leaves) + option.Summer_Leaf_G = Green Amount (for leaves) + option.Summer_Leaf_B = Blue Amount (for leaves) + + screen.Fall_colors = Fall Colors + option.Fall_R = Red Amount + option.Fall_G = Green Amount + option.Fall_B = Blue Amount + option.Fall_Leaf_R = Red Amount (for leaves) + option.Fall_Leaf_G = Green Amount (for leaves) + option.Fall_Leaf_B = Blue Amount (for leaves) + + screen.Winter_colors = Winter Colors + option.Winter_R = Red Amount + option.Winter_G = Green Amount + option.Winter_B = Blue Amount + option.Winter_Leaf_R = Red Amount (for leaves) + option.Winter_Leaf_G = Green Amount (for leaves) + option.Winter_Leaf_B = Blue Amount (for leaves) + + screen.Spring_colors = Spring Colors + option.Spring_R = Red Amount + option.Spring_G = Green Amount + option.Spring_B = Blue Amount + option.Spring_Leaf_R = Red Amount (for leaves) + option.Spring_Leaf_G = Green Amount (for leaves) + option.Spring_Leaf_B = Blue Amount (for leaves) + + + +screen.World = World + screen.Water = Water Settings + option.WATER_REFLECTIONS = Specular Reflections for Water + option.SCREENSPACE_REFLECTIONS = Screen-Space Reflections + option.SSR_STEPS = SSR Quality + option.WATER_SUN_SPECULAR = Sun/Moon Reflections + option.WATER_BACKGROUND_SPECULAR = Sky/Fog Reflections + option.Refraction = Refraction In Water/Glass + option.Dirt_Amount = Dirt Amount + option.Water_Top_Layer = Ocean Y coordinate + + screen.Water_fog_color = Water Fog Settings + option.Dirt_Scatter_R = Scatter Red (dirt) + option.Dirt_Scatter_G = Scatter Green (dirt) + option.Dirt_Scatter_B = Scatter Blue (dirt) + option.Dirt_Absorb_R = Absorb Red (dirt) + option.Dirt_Absorb_G = Absorb Green (dirt) + option.Dirt_Absorb_B = Absorb Blue (dirt) + option.Water_Absorb_R = Absorb Red (water) + option.Water_Absorb_G = Absorb Green (water) + option.Water_Absorb_B = Absorb Blue (water) + + +screen.Post_Processing = Post Processing + screen.TAA_OPTIONS = Anti-Aliasing Settings + option.SCREENSHOT_MODE = Screenshot Mode + option.TAA = TAA + option.BLEND_FACTOR = Blend Factor + option.TAA_UPSCALING = Temporal Upscaling + option.SCALE_FACTOR = Scale Factor + + screen.Tonemapping = Tone-Map/Color Settings + + screen.Exposure = Exposure Settings + screen.DepthOfField = Depth Of Field Settings + screen.Purkinje_effect = Purkinje Effect Settings + + option.SHARPENING = CAS Sharpening amount + option.BLOOM_STRENGTH = Bloom Multiplier + + + +screen.Misc_Settings = Misc. Settings + + +screen.LabPBR = Lab PBR + screen.Reflections = Specular Reflections + option.Specular_Reflections = Specular Reflections + option.Screen_Space_Reflections = Screen-Space Reflections + option.Rough_reflections = Detailed Roughness + option.Sky_reflection = Sky/Fog in Reflections + option.Dynamic_SSR_quality = Dynamic SSR Quality + option.Roughness_Threshold = Reflection Threshold + option.Sun_specular_Strength = Sun Reflection Multiplier + option.reflection_quality = SSR Quality + + screen.Emissives = Emissives + option.Emissive_Brightness = Emission Multiplier + option.Emissive_Curve = Emission Curve + option.EMISSIVE_TYPE = Mode + option.EMISSIVE_TYPE.comment = Hardcoded means that the shader defines what gets emission or not. Lab emission means that the resourcepack defines what gets emission or not. + value.EMISSIVE_TYPE.0 = No emission + value.EMISSIVE_TYPE.1 = Hardcoded only + value.EMISSIVE_TYPE.2 = Hardcoded + Lab Emission + value.EMISSIVE_TYPE.3 = Lab Emission only + + +screen.POM = Parallax Occlusion Mapping / POM + option.POM = Parallax Occlusion Mapping + option.MAX_ITERATIONS = Quality + option.POM_DEPTH = Depth + option.MAX_DIST = Maximum Distance + option.Adaptive_Step_length = Dynamic Quality + option.Horrible_slope_normals = Horrible Slope Normals + + +screen.Porosity = Porosity / Puddles + option.Porosity = Porosity + option.Puddles = Puddles + option.Puddle_Size = Puddle Size Multiplier option.DOF_QUALITY=Depth Of Field -value.DOF_QUALITY.-1=Off -value.DOF_QUALITY.0=Hexagonal -value.DOF_QUALITY.1=Low -value.DOF_QUALITY.2=Medium -value.DOF_QUALITY.3=High -value.DOF_QUALITY.4=Ultra -option.DOF_ANAMORPHIC_RATIO=Anamorphic Ratio + value.DOF_QUALITY.-1=Off + value.DOF_QUALITY.0=Hexagonal + value.DOF_QUALITY.1=Low + value.DOF_QUALITY.2=Medium + value.DOF_QUALITY.3=High + value.DOF_QUALITY.4=Ultra + option.DOF_ANAMORPHIC_RATIO=Anamorphic Ratio + option.AEROCHROME_MODE=Aerochrome Mode option.AEROCHROME_MODE.comment=Infrared Film. Google "Aerochrome" to get an idea of what it does. diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 4c0913f..726da58 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -20,6 +20,7 @@ #define Water_Top_Layer 62.90 // When under water and when lightMapDepthEstimate is turned off. Assumes the top layer of the water is at this height (minecraft y position) for underwater lighting calculations. If not set correctly, underwater will look incorrect.[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 lightMapDepthEstimation // If turned off, will use the player eye position and the Water_Top_Layer option to determine how deep the player is in water. It can look wrong in a lot of cases, and using minecraft light levels instead improves this but will look worse in oceans, lakes and rivers. //#define Vanilla_like_water // vanilla water texture along with shader water stuff + #define Texture_MipMap_Bias 0.0 // Uses a another mip level for textures. When reduced will increase texture detail but may induce a lot of shimmering. [-5.00 -4.75 -4.50 -4.25 -4.00 -3.75 -3.50 -3.25 -3.00 -2.75 -2.50 -2.25 -2.00 -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75 5.00] // --- AMBIENT LIGHT --- @@ -156,7 +157,7 @@ #define Adaptive_Step_length // make only used parts of the POM depth get samples, to increase overall quality. DOWNSIDE: at sheer angles, it looks kinda buggy. //#define Horrible_slope_normals // really only good on low resoltution packs. alot of aliasing/flickering at high resoltions #define POM_DEPTH 0.25 // [0.025 0.05 0.075 0.1 0.125 0.15 0.20 0.25 0.30 0.50 0.75 1.0] // IN METERS. Vanillaccurate: 0.15-0.25. VNR: 0.20. Patrix: 1.0 -#define MAX_ITERATIONS 50 // [5 10 15 20 25 30 40 50 60 70 80 90 100 125 150 200 400] //Improves quality at grazing angles (reduces performance) +#define MAX_ITERATIONS 35 // [5 10 15 20 25 30 40 50 60 70 80 90 100 125 150 200 400] //Improves quality at grazing angles (reduces performance) #define MAX_DIST 25.0 // [5.0 10.0 15.0 20.0 25.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 125.0 150.0 200.0 400.0] //Increases distance at which POM is calculated // #define Porosity @@ -295,12 +296,18 @@ const float shadowDistanceRenderMul = -1.0; //[-1.0 1.0] THIS WILL BREAK SUBSURF #define Sun_specular_Strength 3 // increase for more sparkles [1 2 3 4 5 6 7 8 9 10] #define reflection_quality 30 // adjust the quality of the screenspace reflections. [6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0 55.0 60.0 65.0 70.0 75.0 80.0 85.0 90.0 95.0 100.0 ] #define Roughness_Threshold 1.5 // using a curve on the roughness, make the reflections more or less visible on rough surfaces. good for hiding noise on rough materials [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 ] -#define SCREENSPACE_REFLECTIONS //can be really expensive at high resolutions/render quality, especially on ice + #define SSR_STEPS 30 //[10 15 20 25 30 35 40 50 100 200 400] #define SUN_MICROFACET_SPECULAR // If enabled will use realistic rough microfacet model, else will just reflect the sun. No performance impact. #define USE_QUARTER_RES_DEPTH // Uses a quarter resolution depth buffer to raymarch screen space reflections, improves performance but may introduce artifacts #define Dynamic_SSR_quality // rougher reflections have lower quality. this improves performance a bit in alot of scenes +#define WATER_REFLECTIONS +#define WATER_BACKGROUND_SPECULAR +#define WATER_SUN_SPECULAR +#define SCREENSPACE_REFLECTIONS //can be really expensive at high resolutions/render quality, especially on ice + + #ifdef Specular_Reflections #define Puddles // yes #endif @@ -423,4 +430,5 @@ const float shadowDistanceRenderMul = -1.0; //[-1.0 1.0] THIS WILL BREAK SUBSURF #define Lightning_R 0.3 // [ 0.0 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 ] #define Lightning_G 0.6 // [ 0.0 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 ] #define Lightning_B 1.0 // [ 0.0 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 ] -// #define PhysicsMod_support // CURRENTLY BREAKS THE WHOLE SHADER WITH AMD \ No newline at end of file + +// #define PhysicsMod_support // WARNING: this may or may not visually mess up the whole shader on AMD devices. if you dont see any weirdness then it's fine \ No newline at end of file diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 839ca50..cc4782d 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -44,7 +44,7 @@ alphaTest.gbuffers_hand=true sliders = EMISSIVE_TYPE Lightning_R Lightning_G Lightning_B SCALE_FACTOR CompSky_R CompSky_G CompSky_B ambientsss_brightness SSS_TYPE Cloud_Speed Cumulus_height Cumulus_coverage Cumulus_density Alto_coverage Alto_density 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 NetherFog_brightness WeatherDay 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 Cloud_Height Dynamic_sky_day ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B cloud_speed Rain_coverage override_R override_G override_B override_Cloudy_Fog_Density override_cloudyfog_fade override_fog override_Uniform_Fog_Density override_uniformfog_fade override_Bloomy_Fog override_Sun_Strength Moon_temp Haze_amount UniformFog_amount CloudyFog_amount TimeOfDayFog_multiplier RainFog_amount CaveFog_amount uniformfog_fade cloudyfog_fade cloudray_amount Swamp_cloudyfog_height Jungle_cloudyfog_fade Swamp_uniformfog_height Jungle_uniformfog_fade noise_mode Distant_shadow_quality ambient_temp Sun_temp Puddle_Size Cloud_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength Swamp_Sun_Strength Jungle_Sun_Strength Swamp_Bloomy_Fog Jungle_Bloomy_Fog Swamp_Mie Jungle_Mie Swamp_cloudyfog_Density Jungle_Cloudy_Fog_Density Swamp_UniformFog_Density Jungle_Uniform_Fog_Density Swamp_Bloomy_Fog Jungle_Bloomy_Fog Swamp_Mie Jungle_Mie Swamp_R Swamp_G Swamp_B Jungle_R Jungle_G Jungle_B Jungle_fog_strength Swamp_fog_strength Lush_fog_strength Snells_Window_Width self_shadow_samples Shadow_brightness Cloud_top_cutoff Cloud_base_cutoff Cloud_fade_amount BLOOMY_FOG FOG_RAIN_MULTIPLIER FOG_TOD_MULTIPLIER CLOUDY_FOG_AMOUNT BASE_FOG_AMOUNT WAVY_SPEED WAVY_STRENGTH ANTI_GHOSTING BLOOM_STRENGTH shadowDistance shadowDistanceRenderMul FinalR FinalG FinalB Ambient_Mult 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 SKY_BRIGHTNESS_DAY SKY_BRIGHTNESS_NIGHT BLEND_FACTOR FLICKER_REDUCTION MOTION_REJECTION VL_SAMPLES Exposure_Speed POM_MAP_RES POM_DEPTH MAX_ITERATIONS MAX_DIST SSR_STEPS ambientOcclusionLevel SEA_LEVEL ATMOSPHERIC_DENSITY CLOUDS_SHADOWS_STRENGTH moon_illuminance moonColorR moonColorG moonColorB fog_mieg1 fog_mieg2 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 SSAO_SAMPLES Water_Top_Layer fog_coefficientRayleighB SHARPENING rayMarchSampleCount Dirt_Mie_Phase 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 RENDER_SCALE_X RENDER_SCALE_Y 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 cloudDensity cloudCoverage fbmAmount fbmPower1 fbmPower2 cloudMieG cloudMieG2 cloudMie2Multiplier Strong_SSS_strength Medium_SSS_strength Weak_SSS_strength Shadow_brightness Roughness_Threshold Sun_specular_Strength reflection_quality Roughness_Strength SSS_mode DOF_QUALITY DOF_ANAMORPHIC_RATIO AEROCHROME_PINKNESS screen.columns=2 -screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] [Misc_Settings] [Climate] PhysicsMod_support +screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] [Misc_Settings] [Climate] PhysicsMod_support [LabPBR] # screen = [Direct_Light] [World] # [Ambient_light] [Fog] @@ -57,17 +57,17 @@ screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] screen.Direct_Light = [Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] sunPathRotation sun_illuminance moon_illuminance screen.Shadows.columns=1 - screen.Shadows = SCREENSPACE_CONTACT_SHADOWS Stochastic_Transparent_Shadows SHADOW_FRUSTRUM_CULLING CAVE_LIGHT_LEAK_FIX [Filtering] shadowMapResolution shadowDistance shadowDistanceRenderMul + screen.Shadows = SCREENSPACE_CONTACT_SHADOWS [Filtering] shadowMapResolution shadowDistance screen.Subsurface_Scattering.columns=1 - screen.Subsurface_Scattering = Variable_Penumbra_Shadows Ambient_SSS SSS_TYPE LabSSS_Curve mob_SSS misc_block_SSS ambientsss_brightness + screen.Subsurface_Scattering = SSS_TYPE LabSSS_Curve Ambient_SSS ambientsss_brightness screen.Filtering.columns=1 screen.Filtering = Variable_Penumbra_Shadows VPS_Search_Samples Min_Shadow_Filter_Radius Max_Shadow_Filter_Radius Max_Filter_Depth SHADOW_FILTER_SAMPLE_COUNT ### AMBIENT LIGHT screen.Ambient_light.columns=1 - screen.Ambient_light = [Torch_Colors] [Ambient_Colors] MIN_LIGHT_AMOUNT indirect_effect AO_Strength GI_Strength Ambient_SSS ambientOcclusionLevel HQ_SSGI ambientsss_brightness Hand_Held_lights + screen.Ambient_light = [Torch_Colors] [Ambient_Colors] MIN_LIGHT_AMOUNT indirect_effect AO_Strength GI_Strength ambientOcclusionLevel HQ_SSGI Hand_Held_lights screen.Torch_Colors.columns=1 screen.Torch_Colors = TORCH_AMOUNT Emissive_Brightness Emissive_Curve TORCH_R TORCH_G TORCH_B @@ -79,22 +79,22 @@ screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] ######## WORLD screen.World.columns=1 - screen.World = [LabPBR] [Waving_Stuff] [Water] AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED + screen.World = [Water] [Waving_Stuff] [LabPBR] AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED ### SPECULARS 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 ### WAVING STUFF screen.Waving_Stuff.columns=1 - screen.Waving_Stuff = WAVY_STRENGTH WAVY_SPEED WAVY_PLANTS + screen.Waving_Stuff = WAVY_PLANTS WAVY_STRENGTH WAVY_SPEED ## POM screen.POM.columns=1 - screen.POM = POM MAX_ITERATIONS POM_DEPTH MAX_DIST Adaptive_Step_length Horrible_slope_normals + screen.POM = POM Adaptive_Step_length MAX_ITERATIONS POM_DEPTH MAX_DIST Horrible_slope_normals ######## CLIMATE screen.Climate.columns=1 - screen.Climate = Daily_Weather Biome_specific_environment [Seasons] + screen.Climate = [Seasons] Biome_specific_environment Daily_Weather ## BIOME SPECIFICS screen.Biome_Fog.columns=1 @@ -132,12 +132,14 @@ screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] ### CLOUDS screen.Clouds.columns=2 # screen.Clouds = VOLUMETRIC_CLOUDS Altostratus cloud_LevelOfDetail cloud_ShadowLevelOfDetail CLOUDS_QUALITY cloudDensity cloudCoverage Rain_coverage fbmAmount fbmPower1 fbmPower2 Cloud_top_cutoff Cloud_base_cutoff Shadow_brightness self_shadow_samples CLOUDS_SHADOWS VL_CLOUDS_SHADOWS - screen.Clouds = VOLUMETRIC_CLOUDS CLOUDS_QUALITY Cumulus Altostratus Cumulus_coverage Alto_coverage Cumulus_density Alto_density Cumulus_height CLOUDS_SHADOWS Cloud_Speed Rain_coverage Cloud_Fog Daily_Weather + screen.Clouds = VOLUMETRIC_CLOUDS CLOUDS_QUALITY CLOUDS_SHADOWS Daily_Weather Cloud_Speed Rain_coverage Cumulus Altostratus Cumulus_coverage Alto_coverage Cumulus_density Alto_density Cumulus_height ### FOG - screen.Fog.columns=1 - screen.Fog = VL_RENDER_RESOLUTION VL_SAMPLES BLOOMY_FOG Haze_amount RainFog_amount [TOD_fog] [Biome_Fog] [Cave_Fog] BorderFog Cloud_Fog + screen.Fog.columns=2 + screen.Fog = VL_RENDER_RESOLUTION Haze_amount VL_SAMPLES RainFog_amount BLOOMY_FOG [TOD_fog] Cloud_Fog [Biome_Fog] BorderFog [Cave_Fog] + + screen.TOD_fog.columns=2 screen.TOD_fog = TOD_Fog_mult Morning_Uniform_Fog Morning_Cloudy_Fog Noon_Uniform_Fog Noon_Cloudy_Fog Evening_Uniform_Fog Evening_Cloudy_Fog Night_Uniform_Fog Night_Cloudy_Fog @@ -148,18 +150,18 @@ screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] screen.Fog_Color = fog_mieg1 fog_mieg2 fog_coefficientRayleighR fog_coefficientRayleighG fog_coefficientRayleighB fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB ### WATER - screen.Water.columns=1 - screen.Water = Refraction Vanilla_like_water Dirt_Amount Dirt_Mie_Phase rayMarchSampleCount SCREENSPACE_REFLECTIONS SSR_STEPS USE_QUARTER_RES_DEPTH SUN_MICROFACET_SPECULAR Water_Top_Layer lightMapDepthEstimation [Water_fog_color] + screen.Water.columns=2 + screen.Water = WATER_REFLECTIONS Refraction WATER_SUN_SPECULAR Vanilla_like_water SCREENSPACE_REFLECTIONS SSR_STEPS WATER_BACKGROUND_SPECULAR Dirt_Amount [Water_fog_color] Water_Top_Layer 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 ######## POST - screen.Post_Processing.columns=1 - screen.Post_Processing = [TAA_OPTIONS] [Purkinje_effect] [Tonemapping] [Exposure] [DepthOfField] [Editing] SHARPENING BLOOM_STRENGTH BLOOM_QUALITY + screen.Post_Processing.columns=2 + screen.Post_Processing = [TAA_OPTIONS] [Tonemapping] [Exposure] [DepthOfField] [Purkinje_effect] [Editing] SHARPENING BLOOM_STRENGTH ### TAA screen.TAA_OPTIONS.columns = 1 - screen.TAA_OPTIONS= SCREENSHOT_MODE SPLIT_RENDER TAA BLEND_FACTOR TAA_UPSCALING SCALE_FACTOR + screen.TAA_OPTIONS= SCREENSHOT_MODE TAA BLEND_FACTOR TAA_UPSCALING SCALE_FACTOR ### DOF screen.DepthOfField.columns = 1 screen.DepthOfField = DOF_QUALITY DOF_ANAMORPHIC_RATIO AUTOFOCUS focal aperture MANUAL_FOCUS DoF_Adaptation_Speed FAR_BLUR_ONLY @@ -191,7 +193,7 @@ screen = [Direct_Light] [World] [Ambient_light] [Fog] [Post_Processing] [Clouds] screen.Emissives = EMISSIVE_TYPE Emissive_Brightness Emissive_Curve screen.Porosity.columns = 1 - screen.Porosity = Puddles Puddle_Size Porosity + screen.Porosity = Porosity Puddles Puddle_Size screen.Sun_and_Moon_Colors.columns = 1 screen.Sun_and_Moon_Colors = sunColorR sunColorG sunColorB moonColorR moonColorG moonColorB colortype Sun_temp Moon_temp