From ae42f40033b9dfc8089fac02d6e38d8aaa0106b2 Mon Sep 17 00:00:00 2001 From: Merlin1809 <88194861+Merlin1809@users.noreply.github.com> Date: Sun, 23 Nov 2025 18:27:23 +0100 Subject: [PATCH] Improve SSR with Voxy/DH, add option to use full resolution depth for SSR, merge xonk's latest commits --- shaders/dimensions/DH_solid.fsh | 2 + shaders/dimensions/DH_translucent.fsh | 10 +- shaders/dimensions/all_particles.fsh | 7 +- shaders/dimensions/all_solid.fsh | 13 +- shaders/dimensions/all_translucent.fsh | 21 ++- shaders/dimensions/all_vanilla_emissives.fsh | 2 +- shaders/dimensions/composite.fsh | 10 +- shaders/dimensions/composite1.fsh | 15 +- shaders/dimensions/composite10.fsh | 2 +- shaders/dimensions/composite11.fsh | 4 +- shaders/dimensions/composite3.fsh | 2 +- shaders/dimensions/composite4.fsh | 2 +- shaders/dimensions/composite5.fsh | 2 +- shaders/dimensions/composite6.fsh | 2 +- shaders/dimensions/composite7.fsh | 2 +- shaders/dimensions/composite8.fsh | 2 +- shaders/dimensions/composite9.fsh | 2 +- shaders/dimensions/deferred.fsh | 2 +- shaders/dimensions/deferred1.fsh | 57 ++---- shaders/dimensions/final.fsh | 1 - shaders/lang/en_us.lang | 3 +- shaders/lang/zh_cn.lang | 3 +- shaders/lib/diffuse_lighting.glsl | 2 +- shaders/lib/settings.glsl | 7 +- shaders/lib/specular.glsl | 177 +++++++++++++----- shaders/lib/volumetricClouds.glsl | 1 - shaders/shaders.properties | 39 ++-- shaders/world-1/clrwl_shadow.vsh | 2 +- shaders/world-1/shadow.vsh | 2 +- shaders/world0/clrwl_shadow.vsh | 2 +- shaders/world0/shadow.vsh | 2 +- shaders/world0_with_aether_flag/shadow.vsh | 2 +- .../shadow.vsh | 2 +- shaders/world1/clrwl_shadow.vsh | 4 +- shaders/world1/gbuffers_weather.fsh | 2 +- shaders/world1/shadow.vsh | 4 +- 36 files changed, 233 insertions(+), 181 deletions(-) diff --git a/shaders/dimensions/DH_solid.fsh b/shaders/dimensions/DH_solid.fsh index ee8b103..8bc5dc7 100644 --- a/shaders/dimensions/DH_solid.fsh +++ b/shaders/dimensions/DH_solid.fsh @@ -222,6 +222,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, materials)); gl_FragData[1].a = 0.0; + + gl_FragData[2] = vec4(0.0,0.0,0.0,0.0); #if EMISSIVE_TYPE == 0 gl_FragData[2].a = 0.0; diff --git a/shaders/dimensions/DH_translucent.fsh b/shaders/dimensions/DH_translucent.fsh index deaad59..aae0abb 100644 --- a/shaders/dimensions/DH_translucent.fsh +++ b/shaders/dimensions/DH_translucent.fsh @@ -109,7 +109,7 @@ float ld(float dist) { // } float DH_ld(float dist) { - return (2.0 * near) / (dhVoxyFarPlane + near - dist * (dhVoxyFarPlane - near)); + return (2.0 * dhVoxyNearPlane) / (dhVoxyFarPlane + dhVoxyNearPlane - dist * (dhVoxyFarPlane - dhVoxyNearPlane)); } float DH_inv_ld (float lindepth){ return -((2.0*dhVoxyNearPlane/lindepth)-dhVoxyFarPlane-dhVoxyNearPlane)/(dhVoxyFarPlane-dhVoxyNearPlane); @@ -200,8 +200,12 @@ vec3 rayTrace(vec3 dir, vec3 position, float dither, float fresnel) { if(spos.x < 0 || spos.x > 1 || spos.y < 0 || spos.y > 1) return vec3(1.1); #endif - float sampleDepth = sqrt(texelFetch2D(colortex12, ivec2(spos.xy / (texelSize * 4.0)), 0).a / 65000.0); - float sp = invLdFast(sampleDepth*dhVoxyFarPlane); + #ifdef QUARTER_RES_SSR + float sampleDepth = sqrt(texelFetch2D(colortex12, ivec2(spos.xy / (texelSize * 4.0)), 0).a / 65000.0); + float sp = DH_inv_ld(sampleDepth); + #else + float sp = texelFetch2D(dhDepthTex, ivec2(spos.xy /texelSize), 0).r; + #endif if (sp < max(minZ, maxZ) && sp > min(minZ, maxZ)) { return vec3(spos.xy / RENDER_SCALE, sp); diff --git a/shaders/dimensions/all_particles.fsh b/shaders/dimensions/all_particles.fsh index 09651af..c715516 100644 --- a/shaders/dimensions/all_particles.fsh +++ b/shaders/dimensions/all_particles.fsh @@ -1,5 +1,5 @@ #ifdef IS_LPV_ENABLED - #extension GL_EXT_shader_image_load_store: enable + #extension GL_ARB_shader_image_load_store: enable #extension GL_ARB_shading_language_packing: enable #endif @@ -10,7 +10,6 @@ #if defined CUMULONIMBUS_LIGHTNING && CUMULONIMBUS > 0 && defined OVERWORLD_SHADER && defined COLORWHEEL #extension GL_NV_gpu_shader5 : enable #extension GL_ARB_shader_image_load_store : enable - #extension GL_EXT_shader_image_load_store : enable #endif #include "/lib/settings.glsl" @@ -244,8 +243,8 @@ float ComputeShadowMap(inout vec3 directLightColor, vec3 playerPos, float maxDis varying vec4 vtexcoordam; // .st for add, .pq for mul varying vec2 vtexcoord; - vec2 dcdx = dFdx(vtexcoord.st*vtexcoordam.pq)*exp2(Texture_MipMap_Bias); - vec2 dcdy = dFdy(vtexcoord.st*vtexcoordam.pq)*exp2(Texture_MipMap_Bias); + vec2 dcdx = dFdx(vtexcoord.st*vtexcoordam.pq); + vec2 dcdy = dFdy(vtexcoord.st*vtexcoordam.pq); #define diagonal3(m) vec3((m)[0].x, (m)[1].y, m[2].z) #define projMAD(m, v) (diagonal3(m) * (v) + (m)[3].xyz) diff --git a/shaders/dimensions/all_solid.fsh b/shaders/dimensions/all_solid.fsh index 1e48934..b1a09c2 100644 --- a/shaders/dimensions/all_solid.fsh +++ b/shaders/dimensions/all_solid.fsh @@ -54,8 +54,8 @@ uniform vec2 texelSize; uniform int framemod8; #if defined POM && (defined WORLD && !defined ENTITIES && !defined HAND || defined COLORWHEEL) - vec2 dcdx = dFdx(data_in.texcoord.st*data_in.texcoordam.pq)*exp2(Texture_MipMap_Bias); - vec2 dcdy = dFdy(data_in.texcoord.st*data_in.texcoordam.pq)*exp2(Texture_MipMap_Bias); + vec2 dcdx = dFdx(data_in.texcoord.st*data_in.texcoordam.pq); + vec2 dcdy = dFdy(data_in.texcoord.st*data_in.texcoordam.pq); #else const vec2 dcdx = vec2(0.0); const vec2 dcdy = vec2(0.0); @@ -283,8 +283,12 @@ float ld(float dist) { // } float bias(){ - // return (Texture_MipMap_Bias + (blueNoise-0.5)*0.5) - (1.0-RENDER_SCALE.x) * 2.0; - return Texture_MipMap_Bias - (1.0-RENDER_SCALE.x) * 2.0; + // bias mipmapping as window resolution and / or render scale changes. + #ifdef TAA_UPSCALING + return (1.0 - texelSize.x * 2560.0) + (0.0 - (1.0-RENDER_SCALE.x) * 2.0); + #else + return 1.0 - texelSize.x * 2560.0; + #endif } vec4 texture2D_POMSwitch( sampler2D sampler, @@ -774,6 +778,7 @@ void main() { // SpecularTex.r = max(SpecularTex.r, rainfall); // SpecularTex.g = max(SpecularTex.g, max(Puddle_shape*0.02,0.02)); + gl_FragData[1] = vec4(0.0,0.0,0.0,0.0); gl_FragData[1].rg = SpecularTex.rg; #if EMISSIVE_TYPE == 2 diff --git a/shaders/dimensions/all_translucent.fsh b/shaders/dimensions/all_translucent.fsh index 45744f5..5917f5f 100644 --- a/shaders/dimensions/all_translucent.fsh +++ b/shaders/dimensions/all_translucent.fsh @@ -1,12 +1,11 @@ #ifdef IS_LPV_ENABLED - #extension GL_EXT_shader_image_load_store: enable + #extension GL_ARB_shader_image_load_store: enable #extension GL_ARB_shading_language_packing: enable #endif #if defined CUMULONIMBUS_LIGHTNING && CUMULONIMBUS > 0 && defined OVERWORLD_SHADER && defined COLORWHEEL #extension GL_NV_gpu_shader5 : enable #extension GL_ARB_shader_image_load_store : enable - #extension GL_EXT_shader_image_load_store : enable #endif #include "/lib/settings.glsl" @@ -466,6 +465,15 @@ void Emission( if( Emission < 254.5/255.0) Lighting = mix(Lighting, Albedo * 5.0 * Emissive_Brightness, pow(Emission, Emissive_Curve)); } +float bias(){ + // bias mipmapping as window resolution and / or render scale changes. + #ifdef TAA_UPSCALING + return (1.0 - texelSize.x * 2560.0) + (0.0 - (1.0-RENDER_SCALE.x) * 2.0); + #else + return 1.0 - texelSize.x * 2560.0; + #endif +} + //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// @@ -479,6 +487,7 @@ void main() { if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) { vec3 FragCoord = gl_FragCoord.xyz; + float mipmapBias = bias(); #ifdef TAA vec2 tempOffset = offsets[framemod8]; @@ -521,9 +530,9 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec2 lightmap = lmtexcoord.zw; #ifndef COLORWHEEL - gl_FragData[0] = texture2D(gtexture, lmtexcoord.xy, Texture_MipMap_Bias) * color; + gl_FragData[0] = texture2D(gtexture, lmtexcoord.xy, mipmapBias) * color; #else - vec4 _color = texture2D(gtexture, lmtexcoord.xy, Texture_MipMap_Bias); + vec4 _color = texture2D(gtexture, lmtexcoord.xy, mipmapBias); float ao; vec4 overlayColor; @@ -628,7 +637,7 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) tangent.z, tangent2.z, normal.z); - vec3 NormalTex = vec3(texture2D(normals, lmtexcoord.xy, Texture_MipMap_Bias).xy,0.0); + vec3 NormalTex = vec3(texture2D(normals, lmtexcoord.xy, mipmapBias).xy,0.0); NormalTex.xy = NormalTex.xy*2.0-1.0; NormalTex.z = clamp(sqrt(1.0 - dot(NormalTex.xy, NormalTex.xy)),0.0,1.0); @@ -762,7 +771,7 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) //////////////////////////////////////////////////////////////////////////////// - vec3 SpecularTex = texture2D(specular, lmtexcoord.xy, Texture_MipMap_Bias).rga; + vec3 SpecularTex = texture2D(specular, lmtexcoord.xy, mipmapBias).rga; //////////////////////////////////////////////////////////////////////////////// //////////////////////////////// DIFFUSE LIGHTING ////////////////////////////// //////////////////////////////////////////////////////////////////////////////// diff --git a/shaders/dimensions/all_vanilla_emissives.fsh b/shaders/dimensions/all_vanilla_emissives.fsh index 3e8adea..c8a925d 100644 --- a/shaders/dimensions/all_vanilla_emissives.fsh +++ b/shaders/dimensions/all_vanilla_emissives.fsh @@ -17,7 +17,7 @@ vec3 toLinear(vec3 sRGB){ //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// -/* DRAWBUFFERS:2 */ +/* RENDERTARGETS:2 */ void main() { diff --git a/shaders/dimensions/composite.fsh b/shaders/dimensions/composite.fsh index f5a65ac..decaa7a 100644 --- a/shaders/dimensions/composite.fsh +++ b/shaders/dimensions/composite.fsh @@ -314,11 +314,7 @@ vec2 SSAO( occlusion += max(0.0, dot(normViewPosDiff, normal) - preAo) * threshHold; #ifdef Ambient_SSS - #ifdef OLD_INDIRECT_SSS - sss += clamp(-dot(normViewPosDiff, flatnormal),0.0,1.0) * exp(-10*occlusion); - #else - sss += clamp(-dot(normViewPosDiff, flatnormal) - occlusion/n,0.0,1.0) * 0.25 + (normalize(mat3(gbufferModelViewInverse) * -viewPosDiff).y - occlusion/n) * threshHold; - #endif + sss += clamp(-dot(normViewPosDiff, flatnormal) - occlusion/n,0.0,1.0) * 0.25 + (normalize(mat3(gbufferModelViewInverse) * -viewPosDiff).y - occlusion/n) * threshHold; #endif } @@ -440,9 +436,7 @@ void main() { vec2 SSAO_SSS = SSAO(viewPos, worldToView(normal),worldToView(FlatNormals), hand, noise); - #ifndef OLD_INDIRECT_SSS - SSAO_SSS.y = clamp(SSAO_SSS.y + 0.5 * lightmap.y*lightmap.y,0.0,1.0); - #endif + SSAO_SSS.y = clamp(SSAO_SSS.y + 0.5 * lightmap.y*lightmap.y,0.0,1.0); if(swappedDepth >= 1.0) SSAO_SSS = vec2(1.0,0.0); diff --git a/shaders/dimensions/composite1.fsh b/shaders/dimensions/composite1.fsh index 0a00f7c..a75dcdb 100644 --- a/shaders/dimensions/composite1.fsh +++ b/shaders/dimensions/composite1.fsh @@ -798,17 +798,12 @@ vec3 SubsurfaceScattering_sun(vec3 albedo, float Scattering, float Density, floa vec3 SubsurfaceScattering_sky(vec3 albedo, float Scattering, float Density){ // Density = 1.0; - #ifdef OLD_INDIRECT_SSS - float scatterDepth = 1.0 - pow(1.0-Scattering, 0.5 + Density * 2.5); - vec3 absorbColor = vec3(1.0) * exp(-(15.0 - 10.0*scatterDepth) * sss_absorbance_multiplier * 0.01); - vec3 scatter = scatterDepth * absorbColor * pow(Density, LabSSS_Curve); - #else - float scatterDepth = pow(Scattering,3.5); - scatterDepth = 1.0-pow(1.0-scatterDepth,5.0); - vec3 absorbColor = exp(max(luma(albedo) - albedo*vec3(1.0,1.1,1.2), 0.0) * -20.0 * sss_absorbance_multiplier); - vec3 scatter = scatterDepth * mix(absorbColor, vec3(1.0), scatterDepth) * pow(Density, LabSSS_Curve); - #endif + float scatterDepth = pow(Scattering,3.5); + scatterDepth = 1.0-pow(1.0-scatterDepth,5.0); + + vec3 absorbColor = exp(max(luma(albedo) - albedo*vec3(1.0,1.1,1.2), 0.0) * -20.0 * sss_absorbance_multiplier); + vec3 scatter = scatterDepth * mix(absorbColor, vec3(1.0), scatterDepth) * pow(Density, LabSSS_Curve); // scatter *= 1.0 + exp(-7.0*(-playerPosNormalized.y*0.5+0.5)); diff --git a/shaders/dimensions/composite10.fsh b/shaders/dimensions/composite10.fsh index bf414d4..d035b92 100644 --- a/shaders/dimensions/composite10.fsh +++ b/shaders/dimensions/composite10.fsh @@ -211,7 +211,7 @@ vec3 blackbody(float Temp) } void main() { - /* DRAWBUFFERS:7 */ + /* RENDERTARGETS:7 */ float vignette = (1.5-dot(texcoord-0.5,texcoord-0.5)*2.); vec3 col = texture2D(colortex5,texcoord).rgb; diff --git a/shaders/dimensions/composite11.fsh b/shaders/dimensions/composite11.fsh index a09e193..9de2aaf 100644 --- a/shaders/dimensions/composite11.fsh +++ b/shaders/dimensions/composite11.fsh @@ -163,7 +163,7 @@ vec3 chromaticAberration(vec2 UV){ void main() { - /* DRAWBUFFERS:7 */ + /* RENDERTARGETS:7 */ #ifdef CHROMATIC_ABERRATION vec3 color = chromaticAberration(texcoord); @@ -185,5 +185,5 @@ void main() { color = colorGrading(color); #endif - gl_FragData[0].rgb = clamp(int8Dither(color, texcoord),0.0,1.0); + gl_FragData[0] = vec4(clamp(int8Dither(color, texcoord),0.0,1.0), 0.0); } diff --git a/shaders/dimensions/composite3.fsh b/shaders/dimensions/composite3.fsh index 2294b35..43fcc8c 100644 --- a/shaders/dimensions/composite3.fsh +++ b/shaders/dimensions/composite3.fsh @@ -941,7 +941,7 @@ void main() { #endif #endif - gl_FragData[0].r = bloomyFogMult; // pass fog alpha so bloom can do bloomy fog + gl_FragData[0] = vec4(bloomyFogMult,0.0,0.0,1.0); // pass fog alpha so bloom can do bloomy fog gl_FragData[1].rgb = clamp(color.rgb, 0.0,68000.0); // gl_FragData[1].rgb = vec3(tangentNormals.xy,0.0) * 0.1 ; diff --git a/shaders/dimensions/composite4.fsh b/shaders/dimensions/composite4.fsh index ce27754..7da0a73 100644 --- a/shaders/dimensions/composite4.fsh +++ b/shaders/dimensions/composite4.fsh @@ -18,7 +18,7 @@ uniform float viewWidth; //////////////////////////////VOID MAIN////////////////////////////// void main() { -/* DRAWBUFFERS:06 */ +/* RENDERTARGETS:0,6 */ vec2 screenEdges = 2.0/vec2(viewWidth, viewHeight); vec2 jitter = offsets[framemod8]*texelSize*0.5; ivec2 center = ivec2(clamp(gl_FragCoord.xy*texelSize, screenEdges, 1.0-screenEdges)/texelSize); diff --git a/shaders/dimensions/composite5.fsh b/shaders/dimensions/composite5.fsh index 3959ec9..50d94c5 100644 --- a/shaders/dimensions/composite5.fsh +++ b/shaders/dimensions/composite5.fsh @@ -430,7 +430,7 @@ vec4 computeTAA(vec2 texcoord, bool hand){ void main() { -/* DRAWBUFFERS:5 */ +/* RENDERTARGETS:5 */ #ifdef TAA vec2 taauTC = clamp(texcoord*RENDER_SCALE, vec2(0.0), RENDER_SCALE - texelSize*2.0); diff --git a/shaders/dimensions/composite6.fsh b/shaders/dimensions/composite6.fsh index 060442d..2333d3d 100644 --- a/shaders/dimensions/composite6.fsh +++ b/shaders/dimensions/composite6.fsh @@ -22,7 +22,7 @@ vec2 decodeVec2(float a){ void main() { -/* DRAWBUFFERS:3 */ +/* RENDERTARGETS:3 */ vec2 resScale = max(vec2(viewWidth,viewHeight),vec2(1920.0,1080.))/vec2(1920.,1080.); vec2 quarterResTC = gl_FragCoord.xy*2.0*resScale*texelSize; diff --git a/shaders/dimensions/composite7.fsh b/shaders/dimensions/composite7.fsh index 40e7ec9..dff9325 100644 --- a/shaders/dimensions/composite7.fsh +++ b/shaders/dimensions/composite7.fsh @@ -10,7 +10,7 @@ uniform float viewHeight; void main() { -/* DRAWBUFFERS:6 */ +/* RENDERTARGETS:6 */ vec2 resScale = max(vec2(viewWidth,viewHeight),vec2(1920.0,1080.))/vec2(1920.,1080.); vec2 quarterResTC = gl_FragCoord.xy*2.*texelSize; diff --git a/shaders/dimensions/composite8.fsh b/shaders/dimensions/composite8.fsh index 4c2f776..655eada 100644 --- a/shaders/dimensions/composite8.fsh +++ b/shaders/dimensions/composite8.fsh @@ -24,7 +24,7 @@ vec3 gauss1D(vec2 coord,vec2 dir,float alpha,int maxIT){ //////////////////////////////VOID MAIN////////////////////////////// void main() { -/* DRAWBUFFERS:6 */ +/* RENDERTARGETS:6 */ vec2 texcoord = (gl_FragCoord.xy*vec2(2.0,4.0))*texelSize; vec2 gaussDir = vec2(1.0,0.0); diff --git a/shaders/dimensions/composite9.fsh b/shaders/dimensions/composite9.fsh index 656f295..0a5a2ae 100644 --- a/shaders/dimensions/composite9.fsh +++ b/shaders/dimensions/composite9.fsh @@ -23,7 +23,7 @@ vec3 gauss1D(vec2 coord,vec2 dir,float alpha,int maxIT){ //////////////////////////////VOID MAIN////////////////////////////// void main() { -/* DRAWBUFFERS:6 */ +/* RENDERTARGETS:6 */ vec2 texcoord = (gl_FragCoord.xy*vec2(2.0,4.0))*texelSize; vec2 gaussDir = vec2(0.0,1.0); diff --git a/shaders/dimensions/deferred.fsh b/shaders/dimensions/deferred.fsh index 1fcedfd..13e1bec 100644 --- a/shaders/dimensions/deferred.fsh +++ b/shaders/dimensions/deferred.fsh @@ -224,7 +224,7 @@ uniform int hideGUI; #endif void main() { -/* DRAWBUFFERS:4 */ +/* RENDERTARGETS:4 */ gl_FragData[0] = vec4(0.0); diff --git a/shaders/dimensions/deferred1.fsh b/shaders/dimensions/deferred1.fsh index 9300168..943af2c 100644 --- a/shaders/dimensions/deferred1.fsh +++ b/shaders/dimensions/deferred1.fsh @@ -29,7 +29,7 @@ uniform float dhVoxyNearPlane; float linZ(float depth) { return (2.0 * near) / (far + near - depth * (far - near)); } -float DH_ld(float dist) { +float DH_linZ(float dist) { return (2.0 * dhVoxyNearPlane) / (dhVoxyFarPlane + dhVoxyNearPlane - dist * (dhVoxyFarPlane - dhVoxyNearPlane)); } float DH_invLinZ (float lindepth){ @@ -59,52 +59,21 @@ vec2 decodeVec2(float a){ void main() { /* RENDERTARGETS:4,12 */ vec3 oldTex = texelFetch2D(colortex4, ivec2(gl_FragCoord.xy), 0).xyz; - float newTex = texelFetch2D(depthtex1, ivec2(gl_FragCoord.xy*4.), 0).x; + float newTex = texelFetch2D(depthtex1, ivec2(gl_FragCoord.xy*4), 0).x; - float dataUnpacked = decodeVec2(texelFetch2D(colortex1,ivec2(gl_FragCoord.xy*4.),0).w).y; + float dataUnpacked = decodeVec2(texelFetch2D(colortex1,ivec2(gl_FragCoord.xy*4),0).w).y; bool hand = abs(dataUnpacked-0.75) < 0.01; if(hand) convertHandDepth(newTex); - #if defined DISTANT_HORIZONS || defined VOXY - float QuarterResDepth = texelFetch2D(dhVoxyDepthTex, ivec2(gl_FragCoord.xy*4), 0).x; - if(newTex == 1.0) { - float depth = DH_ld(QuarterResDepth); - gl_FragData[0] = vec4(oldTex, 650000.0); - } else { - float depth = linZ(newTex); - gl_FragData[0] = vec4(oldTex, depth * depth * 65000.0); - } - - // sky - if (newTex == 1.0 && QuarterResDepth == 1.0) { - gl_FragData[0] = vec4(oldTex, 65000.0); - } - - float depth = newTex; - float _near = near; - float _far = far*4.0; - if (depth >= 1.0) { - depth = QuarterResDepth; - _near = dhVoxyNearPlane; - _far = dhVoxyFarPlane; - } - - depth = linearizeDepthFast(depth, _near, _far); - depth = depth / dhVoxyFarPlane; - - if(depth < 1.0) { - gl_FragData[1].a = depth * depth * 65000.0; - } else { - gl_FragData[1].a = 66000.0; - } - #else - if(newTex < 1.0) { - float depth = linZ(newTex); - gl_FragData[0] = vec4(oldTex, depth * depth * 65000.0); - } else { - // sky - gl_FragData[0] = vec4(oldTex, 65000.0); - } - #endif + #if defined DISTANT_HORIZONS || defined VOXY + float QuarterResDepth = texelFetch2D(dhVoxyDepthTex, ivec2(gl_FragCoord.xy*4), 0).x; + QuarterResDepth = DH_linZ(QuarterResDepth); + gl_FragData[1].a = QuarterResDepth*QuarterResDepth*65000.0; + if(QuarterResDepth >= 1.0) gl_FragData[1].a = 66000.0; + #endif + + newTex = linZ(newTex); + gl_FragData[0] = vec4(oldTex, newTex*newTex*65000.0); + if(newTex >= 1.0) gl_FragData[0].a = 66000.0; } \ No newline at end of file diff --git a/shaders/dimensions/final.fsh b/shaders/dimensions/final.fsh index 4b35bf3..d9d544e 100644 --- a/shaders/dimensions/final.fsh +++ b/shaders/dimensions/final.fsh @@ -17,7 +17,6 @@ uniform sampler2D shadowcolor1; #if DEBUG_VIEW == debug_CLOUDDEPTHTEX && defined CUMULONIMBUS_LIGHTNING && CUMULONIMBUS > 0 #extension GL_NV_gpu_shader5 : enable #extension GL_ARB_shader_image_load_store : enable - #extension GL_EXT_shader_image_load_store : enable layout (rgba16f) uniform image2D cloudDepthTex; #endif diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index 498d0c1..9e16922 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit prefix.SHADER_VERSION_LABEL = V - value.SHADER_VERSION_LABEL.482 = 5.3.2 + value.SHADER_VERSION_LABEL.482 = 5.4.0 # if you're here to translate, this is not a joke, these do what they say profile.POTATO=§4Potato @@ -818,6 +818,7 @@ screen.Resource_Pack_Support = Materials / Resource Pack Support suffix.SUN_SPECULAR_MULT =x brighter option.ROUGHNESS_THRESHOLD = Reflection Visibilty Threshold value.ROUGHNESS_THRESHOLD.0.0 = no threshold + option.QUARTER_RES_SSR = Sample 1/4 resolution depth screen.Emissives = Emissives / Glowing Textures option.Emissive_Brightness = Emission Multiplier diff --git a/shaders/lang/zh_cn.lang b/shaders/lang/zh_cn.lang index 4824481..d9e6307 100644 --- a/shaders/lang/zh_cn.lang +++ b/shaders/lang/zh_cn.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - Bliss 编辑版 prefix.SHADER_VERSION_LABEL = 版本 - value.SHADER_VERSION_LABEL.482 = 5.3.2 + value.SHADER_VERSION_LABEL.482 = 5.4.0 # 如果你是来翻译的,这不是玩笑,这些选项的功能正如其名 profile.POTATO=§4土豆 (极低配置) @@ -113,7 +113,6 @@ screen.LEGACY_STUFF = 旧版设置 option.ORIGINAL_CHOCAPIC_SKY = Chocapic天空 option.OLD_BLOOM = 旧版泛光 option.OLD_CAVE_DETECTION = 旧版洞穴检测 -option.OLD_INDIRECT_SSS = 旧版间接屏幕光照 option.CLOUD_PHASE = 云相 option.OLD_STARS = 旧版星星 diff --git a/shaders/lib/diffuse_lighting.glsl b/shaders/lib/diffuse_lighting.glsl index 7ae2d12..a946e21 100644 --- a/shaders/lib/diffuse_lighting.glsl +++ b/shaders/lib/diffuse_lighting.glsl @@ -110,7 +110,7 @@ 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 + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store vec4 lpvSample = SampleLpvLinear(lpvPos); #ifdef VANILLA_LIGHTMAP_MASK lpvSample.rgb *= lightmapCurve; diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index d8eac4a..7ae391e 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -285,6 +285,7 @@ const float entityShadowDistanceMul = 0.25; // [0.01 0.02 0.03 0.04 0.05 0.10 0. #define SUN_SPECULAR_MULT 1 // [0 1 2 3 4 5 6 7 8 9 10] #define ROUGHNESS_THRESHOLD 0.3 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00] +#define QUARTER_RES_SSR #ifdef Specular_Reflections #define LIGHTSOURCE_REFLECTION @@ -919,8 +920,6 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) // #define SSS_view // #define BIOME_TINT_WATER -#define Texture_MipMap_Bias 0.0 // [-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] - #define PLANET_GROUND_BRIGHTNESS 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 OLD_LIGHTLEAK_FIX @@ -934,7 +933,7 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) #define RESOURCEPACK_SKY 0 // [0 1 2 3] #ifdef IS_IRIS - #define TRANSLUCENT_ENTITIES + // #define TRANSLUCENT_ENTITIES #endif #define WATER_CAUSTICS_BRIGHTNESS 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 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0] @@ -971,8 +970,6 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) #undef PLANET_CURVATURE #endif -// #define OLD_INDIRECT_SSS - // #define SHADER_GRASS #ifdef SHADER_GRASS diff --git a/shaders/lib/specular.glsl b/shaders/lib/specular.glsl index 1ddd4a4..cf03f15 100644 --- a/shaders/lib/specular.glsl +++ b/shaders/lib/specular.glsl @@ -2,10 +2,18 @@ float invLinZ (float lindepth){ return -((2.0*near/lindepth)-far-near)/(far-near); } +float DH_invLinZ (float lindepth){ + return -((2.0*dhVoxyNearPlane/lindepth)-dhVoxyFarPlane-dhVoxyNearPlane)/(dhVoxyFarPlane-dhVoxyNearPlane); +} + float linZ(float depth) { return (2.0 * near) / (far + near - depth * (far - near)); } +float linZ2(float depth, float near, float far) { + return (2.0 * near) / (far + near - depth * (far - near)); +} + void frisvad(in vec3 n, out vec3 f, out vec3 r){ if(n.z < -0.9) { f = vec3(0.,-1,0); @@ -97,35 +105,21 @@ float shlickFresnelRoughness(float XdotN, float roughness){ return shlickFresnel; } -#if defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS - uniform vec4 combined_projection_matrix_0; - uniform vec4 combined_projection_matrix_1; - uniform vec4 combined_projection_matrix_2; - uniform vec4 combined_projection_matrix_3; - #define combined_projection_matrix mat4(combined_projection_matrix_0, combined_projection_matrix_1, combined_projection_matrix_2, combined_projection_matrix_3) - - float invertLinearizeDepthFast(const in float z) { - return (dhVoxyFarPlane * (z - near)) / (z * (dhVoxyFarPlane - near)); - } -#endif - -vec3 toClipSpace3_DH(vec3 viewSpacePosition) { - #if defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS - mat4 matrix = combined_projection_matrix; - #else - mat4 matrix = gbufferProjection; - #endif - return projMAD(matrix, viewSpacePosition) / -viewSpacePosition.z * 0.5 + 0.5; +float invertLinearizeDepthFast(const in float z) { + return (far * (z - near)) / (z * (far - near)); } -vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, bool hand, inout float reflectionLength){ - float biasAmount = 0.00003; +vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, bool hand, inout float reflectionLength, inout bool depthCheck){ - vec3 clipPosition = toClipSpace3_DH(position); - float rayLength = ((position.z + dir.z * far*sqrt(3.)) > -near) ? (-near -position.z) / dir.z : far*sqrt(3.); + const float biasAmount = 0.00003; - vec3 direction = toClipSpace3_DH(position + dir*rayLength) - clipPosition; //convert to clip space + float _near = near; float _far = far; + + vec3 clipPosition = toClipSpace3_DH(position, false); + float rayLength = ((position.z + dir.z * _far*sqrt(3.)) > -_near) ? (-_near -position.z) / dir.z : _far*sqrt(3.); + + vec3 direction = toClipSpace3_DH(position + dir*rayLength, false) - clipPosition; //convert to clip space vec3 reflectedTC = vec3((direction.xy + clipPosition.xy) * RENDER_SCALE, 0.999999); #if FORWARD_SSR_QUALITY == 1 @@ -147,40 +141,113 @@ vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, boo spos.xy += TAA_Offset*texelSize*0.5/RENDER_SCALE; #endif - float minZ = spos.z - 0.00025 / linZ(spos.z); + float minZ = spos.z - 0.00025 / linZ2(spos.z, _near, _far); float maxZ = spos.z; + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + + const float biasAmount2 = 0.000015; + + + _near = dhVoxyNearPlane; + _far = dhVoxyFarPlane; + + + vec3 clipPosition2 = toClipSpace3_DH(position, true); + float rayLength2 = ((position.z + dir.z * _far*sqrt(3.)) > -_near) ? (-_near -position.z) / dir.z : _far*sqrt(3.); + + vec3 direction2 = toClipSpace3_DH(position + dir*rayLength, true) - clipPosition2; //convert to clip space + vec3 reflectedTC2 = vec3((direction2.xy + clipPosition2.xy) * RENDER_SCALE, 0.999999); + + #if FORWARD_SSR_QUALITY == 1 + return reflectedTC2; + #endif + + //get at which length the ray intersects with the edge of the screen + vec3 maxLengths2 = (step(0.0, direction2) - clipPosition2) / direction2; + float mult2 = min(min(maxLengths2.x, maxLengths2.y), maxLengths2.z); + vec3 stepv2 = direction2 * mult2 / quality; + + clipPosition2.xy *= RENDER_SCALE; + stepv2.xy *= RENDER_SCALE; + + vec3 spos2 = clipPosition2 + stepv2*dither; + spos2 += stepv2*0.5 + vec3(0.5*texelSize,0.0); // small offsets to reduce artifacts from precision differences. + + #if defined DEFERRED_SPECULAR && defined TAA + spos2.xy += TAA_Offset*texelSize*0.5/RENDER_SCALE; + #endif + + float minZ2 = spos2.z - 0.00025 / linZ2(spos2.z, _near, _far); + float maxZ2 = spos2.z; + #endif + vec3 hitPos = vec3(1.1); for (int i = 0; i <= int(quality); i++) { #if DEFERRED_SSR_QUALITY != 1 + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + if(!hand && (spos.x < 0 || spos.x > 1 || spos.y < 0 || spos.y > 1) && (spos2.x < 0 || spos2.x > 1 || spos2.y < 0 || spos2.y > 1)) return vec3(1.1); + #else if(!hand && (spos.x < 0 || spos.x > 1 || spos.y < 0 || spos.y > 1)) return vec3(1.1); + #endif #endif - #if defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS - #ifdef FULLRESDEPTH - // buffer is full res after first composite pass - float sampleDepth = texelFetch2D(colortex12, ivec2(spos.xy/texelSize),0).b/65000.0; - #else - float sampleDepth = texelFetch2D(colortex12, ivec2(spos.xy/texelSize/4.0),0).a/65000.0; - #endif - - float sp = invertLinearizeDepthFast(sqrt(sampleDepth)*dhVoxyFarPlane); - #else - float sampleDepth = texelFetch2D(colortex4, ivec2(spos.xy/texelSize/4.0),0).a/65000.0; + #ifdef QUARTER_RES_SSR + float sampleDepth = texelFetch(colortex4, ivec2(spos.xy/texelSize/4.0),0).a/65000.0; float sp = invLinZ(sqrt(sampleDepth)); + #else + #ifdef FULLRESDEPTH + float sp = texelFetch(depthtex0, ivec2(spos.xy/texelSize),0).r; + #else + float sp = texelFetch(depthtex1, ivec2(spos.xy/texelSize),0).r; + #endif #endif - - if(sp < max(minZ, maxZ) && sp > min(minZ, maxZ)) { - hitPos = vec3(spos.xy/RENDER_SCALE, sp); - break; + + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + bool DHrange = sp >= 1.0; + if (DHrange){ + #ifdef QUARTER_RES_SSR + #ifdef FULLRESDEPTH + sp = texelFetch(dhVoxyDepthTex, ivec2(spos2.xy/texelSize),0).r; + #else + sampleDepth = texelFetch(colortex12, ivec2(spos2.xy/texelSize/4.0),0).a/65000.0; + sp = DH_invLinZ(sqrt(sampleDepth)); + #endif + #else + #ifdef FULLRESDEPTH + sp = texelFetch(dhVoxyDepthTex, ivec2(spos2.xy/texelSize),0).r; + #else + sp = texelFetch(dhVoxyDepthTex1, ivec2(spos2.xy/texelSize),0).r; + #endif + #endif + + if(sp < max(minZ2, maxZ2) && sp > min(minZ2, maxZ2)) { + hitPos = vec3(spos2.xy/RENDER_SCALE, sp); + depthCheck = true; + break; + } + } else + #endif + { + if(sp < max(minZ, maxZ) && sp > min(minZ, maxZ)) { + hitPos = vec3(spos.xy/RENDER_SCALE, sp); + break; + } } - minZ = maxZ - biasAmount / linZ(spos.z); + minZ = maxZ - biasAmount / linZ2(spos.z, near, far); maxZ += stepv.z; spos += stepv; + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + minZ2 = maxZ2 - biasAmount2 / linZ2(spos2.z, dhVoxyNearPlane, dhVoxyFarPlane); + maxZ2 += stepv2.z; + + spos2 += stepv2; + #endif + reflectionLength += 1.0 / quality; } @@ -192,6 +259,19 @@ vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, boo return hitPos; } +vec3 toScreenSpace2(vec3 p, bool depthCheck) { + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + mat4 matrix = gbufferProjectionInverse; + if(depthCheck) matrix = dhVoxyProjectionInverse; + #else + mat4 matrix = gbufferProjectionInverse; + #endif + vec4 iProjDiag = vec4(matrix[0].x, matrix[1].y, matrix[2].zw); + vec3 p3 = p * 2. - 1.; + vec4 fragposition = iProjDiag * p3.xyzz + matrix[3]; + return fragposition.xyz / fragposition.w; +} + vec4 screenSpaceReflections( vec3 reflectedVector, vec3 viewPos, @@ -215,7 +295,9 @@ vec4 screenSpaceReflections( quality = float(DEFERRED_SSR_QUALITY); #endif - vec3 raytracePos = rayTraceSpeculars(reflectedVector, viewPos, noise, quality, isHand, reflectionLength); + bool depthCheck = false; + + vec3 raytracePos = rayTraceSpeculars(reflectedVector, viewPos, noise, quality, isHand, reflectionLength, depthCheck); if (raytracePos.z > 1.0) return reflection; // use higher LOD as the reflection goes on, to blur it. this helps denoise a little. @@ -224,9 +306,16 @@ vec4 screenSpaceReflections( float LOD = mix(0.0, 6.0*(1.0-exp(-15.0*sqrt(roughness))), 1.0-pow(1.0-reflectionLength,5.0)); - vec3 previousPosition = mat3(gbufferModelViewInverse) * toScreenSpace(raytracePos) + gbufferModelViewInverse[3].xyz + (cameraPosition - previousCameraPosition); + #if (defined VOXY && defined VOXY_REFLECTIONS) || (defined DISTANT_HORIZONS && defined DH_SCREENSPACE_REFLECTIONS) + mat4 projMatrix = gbufferPreviousProjection; + if(depthCheck) projMatrix = dhVoxyProjectionPrev; + #else + mat4 projMatrix = gbufferPreviousProjection; + #endif + + vec3 previousPosition = mat3(gbufferModelViewInverse) * toScreenSpace2(raytracePos, depthCheck) + gbufferModelViewInverse[3].xyz + (cameraPosition - previousCameraPosition); previousPosition = mat3(gbufferPreviousModelView) * previousPosition + gbufferPreviousModelView[3].xyz; - previousPosition.xy = projMAD(gbufferPreviousProjection, previousPosition).xy / -previousPosition.z * 0.5 + 0.5; + previousPosition.xy = projMAD(projMatrix, previousPosition).xy / -previousPosition.z * 0.5 + 0.5; if (previousPosition.x > 0.0 && previousPosition.y > 0.0 && previousPosition.x < 1.0 && previousPosition.y < 1.0) { if(raytracePos.z > 0.9999999) backgroundReflectMask = 1.0; diff --git a/shaders/lib/volumetricClouds.glsl b/shaders/lib/volumetricClouds.glsl index d642dca..b9cf931 100644 --- a/shaders/lib/volumetricClouds.glsl +++ b/shaders/lib/volumetricClouds.glsl @@ -38,7 +38,6 @@ float lightningFlash = mix(0.1, 2.5, randomSeed); #if !defined COLORWHEEL && !defined VOXY_PROGRAM #extension GL_NV_gpu_shader5 : enable #extension GL_ARB_shader_image_load_store : enable - #extension GL_EXT_shader_image_load_store : enable #endif #ifndef VOXY_PROGRAM diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 10de610..e0938c7 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -4,17 +4,17 @@ #=============== EVERYTHING BELOW HERE IS NOT FOR CUSTOM SCENE CONTROLLER STUFF AND SHOULD NOT BE MODIFIED UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING =============== #==================================================================================================================================================================== -profile.POTATO = !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:0 WATER_SIM_DISTANCE:1 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:0 !CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:10000.0 CloudLayer1_distance:10000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 !CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:VANILLA_AO RAY_COUNT:4 VL_SAMPLES:4 !REALMOON shadowMapResolution:512 shadowDistance:64.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED !SAND_STORMS !SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.7 SHARPENING:55 !FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.VERY_LOW = !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:1 WATER_SIM_DISTANCE:1 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:0 !CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 !CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:VANILLA_AO RAY_COUNT:4 VL_SAMPLES:4 REALMOON shadowMapResolution:1024 shadowDistance:96.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED !SAND_STORMS !SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.8 SHARPENING:50 !FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.LOW = !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:1536 shadowDistance:112.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.9 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.MEDIUM = !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:30 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:2048 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.ALTERNATE_MEDIUM = !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:30 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:2048 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 -profile.HIGH = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.ALTERNATE_HIGH = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 -profile.HIGH_GRASS = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.ALTERNATE_HIGH_GRASS = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 -profile.VERY_HIGH = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:1 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:3 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:2 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 CloudLayer3 VL_RENDER_SCALE:1.0 indirect_effect:SSAO_HQ RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:3172 shadowDistance:144.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 -profile.ULTRA = TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:1 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:3 WATER_SIM_SCALE:2 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:2 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:1 CloudLayer0 CloudLayer1 CloudLayer2 CloudLayer3 VL_RENDER_SCALE:1.0 indirect_effect:SSGI RAY_COUNT:6 VL_SAMPLES:10 REALMOON shadowMapResolution:4096 shadowDistance:144.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.POTATO = QUARTER_RES_SSR !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:0 WATER_SIM_DISTANCE:1 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:0 !CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:10000.0 CloudLayer1_distance:10000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 !CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:VANILLA_AO RAY_COUNT:4 VL_SAMPLES:4 !REALMOON shadowMapResolution:512 shadowDistance:64.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED !SAND_STORMS !SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.7 SHARPENING:55 !FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.VERY_LOW = QUARTER_RES_SSR !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:1 WATER_SIM_DISTANCE:1 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:0 !CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 !CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:VANILLA_AO RAY_COUNT:4 VL_SAMPLES:4 REALMOON shadowMapResolution:1024 shadowDistance:96.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED !SAND_STORMS !SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.8 SHARPENING:50 !FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.LOW = QUARTER_RES_SSR !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS !HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:0 WATER_SIM_FRAMERATE:30 !MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:0 !END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES !RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 !CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.25 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:1536 shadowDistance:112.0 !DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS TAA_UPSCALING SCALE_FACTOR:0.9 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.MEDIUM = QUARTER_RES_SSR !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:30 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:2048 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.ALTERNATE_MEDIUM = QUARTER_RES_SSR !TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:30 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 !RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:0 ShaderSnow:0 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:6 REALMOON shadowMapResolution:2048 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS !LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 +profile.HIGH = QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.ALTERNATE_HIGH = QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 !SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 +profile.HIGH_GRASS = !QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.ALTERNATE_HIGH_GRASS = !QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:0 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:2 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:1 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 !CloudLayer3 VL_RENDER_SCALE:0.5 indirect_effect:SSAO_FILTERED RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:2560 shadowDistance:128.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.1 ambientsss_brightness:0.5 TONEMAP:ToneMap_Hejl2015 AO_Strength:0.4 SCREENSPACE_DIRECT_SSS_BLENDING:0.4 WATER_CAUSTICS_POWER:0.55 Sky_Brightness:0.7 TOD_Fog_mult:0.5 Water_Absorb_R:0.38 Water_Absorb_G:0.28 Water_Absorb_B:0.36 Dirt_Scatter_B:0.14 Dirt_Scatter_G:0.13 Dirt_Scatter_R:0.14 ambient_brightness:0.7 WHITE_BALANCE:7000 Sun_temp:6200 Haze_amount:0.6 CROSSTALK:0.14 BLOOM_STRENGTH:0.5 SATURATION:-0.16 Dirt_Amount:2.0 Dirt_Absorb_R:1.0 Dirt_Absorb_G:1.0 Dirt_Absorb_B:1.0 +profile.VERY_HIGH = !QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:1 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:3 WATER_SIM_SCALE:1 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:2 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:0 CloudLayer0 CloudLayer1 CloudLayer2 CloudLayer3 VL_RENDER_SCALE:1.0 indirect_effect:SSAO_HQ RAY_COUNT:4 VL_SAMPLES:8 REALMOON shadowMapResolution:3172 shadowDistance:144.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 +profile.ULTRA = !QUARTER_RES_SSR TERRAIN_SHADOW_ON_CLOUDS LPV_HANDHELD_SHADOWS_QUALITY:1 SHADER_GRASS HQ_CLOUD_UPSAMPLE WATER_INTERACTION:2 WATER_SIM_DISTANCE:3 WATER_SIM_SCALE:2 WATER_SIM_FRAMERATE:60 MOON_NORMALS RAINBOW:1 CUSTOM_MOON_ROTATION CUSTOM_SHADOWS_QUALITY:2 END_ISLAND_LIGHT CloudLayer0_distance:100000.0 CloudLayer1_distance:100000.0 RIPPLE_PUDDLES RIPPLE_WATER PUDDLE_MODE:1 ShaderSnow:1 CUMULONIMBUS:1 CloudLayer0 CloudLayer1 CloudLayer2 CloudLayer3 VL_RENDER_SCALE:1.0 indirect_effect:SSGI RAY_COUNT:6 VL_SAMPLES:10 REALMOON shadowMapResolution:4096 shadowDistance:144.0 DH_SCREENSPACE_REFLECTIONS LPV_ENABLED SAND_STORMS SNOW_STORMS !TAA_UPSCALING SCALE_FACTOR:0.75 SHARPENING:45 FORWARD_ENVIORNMENT_REFLECTION EXPOSURE_MULTIPLIER:1.0 ambientsss_brightness:1.0 TONEMAP:ToneMap_AgX_minimal_merlin AO_Strength:1.0 SCREENSPACE_DIRECT_SSS_BLENDING:0.5 WATER_CAUSTICS_POWER:1.0 Sky_Brightness:1.0 TOD_Fog_mult:1.0 Water_Absorb_R:0.392389 Water_Absorb_G:0.108329 Water_Absorb_B:0.0660636 Dirt_Scatter_B:0.39 Dirt_Scatter_G:0.39 Dirt_Scatter_R:0.6 ambient_brightness:1.0 WHITE_BALANCE:6500 Sun_temp:6300 Haze_amount:1.0 CROSSTALK:0.0 BLOOM_STRENGTH:1.0 SATURATION:0.0 Dirt_Amount:0.1 Dirt_Absorb_R:0.68 Dirt_Absorb_G:0.4 Dirt_Absorb_B:0.38 clouds=off @@ -202,7 +202,7 @@ alphaTest.gbuffers_beaconbeam = false alphaTest.gbuffers_armor_glint = false alphaTest.gbuffers_damagedblock = false -sliders = SCREENSPACE_CONTACT_SHADOWS PIXELIZATION_STRENGTH MAX_COLORS_PER_CHANNEL RAINBOW_SELECT_BOX CLOUD_SAMPLES AmbientLightThunder_R AmbientLightThunder_G AmbientLightThunder_B GRASS_RANDOMNESS GRASS_WAVY_STRENGTH GRASS_RANGE GRASS_QUALITY GRASS_DENSITY REPLACE_SHORT_GRASS GRASS_THICKNESS_FALLOFF SHORT_GRASS_HEIGHT BASE_GRASS_HEIGHT GRASS_BASE_THICKNESS FILM_GRAIN_STRENGTH PUDDLE_MODE FLASHLIGHT_SHADOWS_STRENGTH LPV_HANDHELD_SHADOWS_STRENGTH AURORA_R AURORA_G AURORA_B AURORA_LOCATION AURORA_MOON AURORA_BRIGHTNESS AURORA_CHANCE WATER_SIM_STRENGTH WATER_SIM_FRAMERATE WATER_SIM_SCALE WATER_SIM_DISTANCE dayStartTick nightStartTick daySpeed nightSpeed FAKE_REFRACTION_AMOUNT FAKE_DISPERSION_AMOUNT REFRACTION_SMUDGE_AMOUNT NORMAL_MAP_MULT DEFERRED_SSR_QUALITY FORWARD_SSR_QUALITY RAINBOW_TIME RAINBOW RAINBOW_DISTANCE RAINBOW_BRIGHTNESS VORTEX_LIGHT_COL_R VORTEX_LIGHT_COL_G VORTEX_LIGHT_COL_B END_LIGHTNING_COL_R END_LIGHTNING_COL_G END_LIGHTNING_COL_B END_HAZE_DENSTIY NETHER_CEILING_SMOKE_DENSITY NETHER_HAZE_DENSITY Max_Filter_Depth_END Min_Shadow_Filter_Radius_END MOON_TIME_OFFSET EARTH_ROTATION_TILT CUSTOM_SHADOWS_QUALITY MOON_LATITUDE MOON_SIZE_SETTING MONTH_LENGTH LIGHTNING_SHADOWS WHITE_BALANCE STARS_BRIGHTNESS STARS_AMOUNT AmbientLightEnd_R AmbientLightEnd_G AmbientLightEnd_B CloudLayer0_distance CloudLayer1_distance CloudLayer2_distance CloudLayer3_distance BLEND_FACTOR_DURING_MOVEMENT CloudLayer0_detail CloudLayer1_detail MIN_LIGHT_AMOUNT_INSIDE CUMULONIMBUS_FADE_TIME CUMULONIMBUS NOISE_RESOLUTION NOISE_INTENSITY NOISE_DROPOFF WAVE_DETAIL DH_CHUNK_FADING CLOUD_MOVEMENT_TYPE LIGHTLEAKFIX_MODE 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_AMOUNT 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 AmbientLightRain_R AmbientLightRain_G AmbientLightRain_B AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Sharpness 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 ambientOcclusionLevel SEA_LEVEL moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal fstop 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_SCALE BLOOM_QUALITY VL_RENDER_SCALE RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 ROUGHNESS_THRESHOLD SUN_SPECULAR_MULT 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 = SCREENSPACE_CONTACT_SHADOWS PIXELIZATION_STRENGTH MAX_COLORS_PER_CHANNEL RAINBOW_SELECT_BOX CLOUD_SAMPLES AmbientLightThunder_R AmbientLightThunder_G AmbientLightThunder_B GRASS_RANDOMNESS GRASS_WAVY_STRENGTH GRASS_RANGE GRASS_QUALITY GRASS_DENSITY REPLACE_SHORT_GRASS GRASS_THICKNESS_FALLOFF SHORT_GRASS_HEIGHT BASE_GRASS_HEIGHT GRASS_BASE_THICKNESS FILM_GRAIN_STRENGTH PUDDLE_MODE FLASHLIGHT_SHADOWS_STRENGTH LPV_HANDHELD_SHADOWS_STRENGTH AURORA_R AURORA_G AURORA_B AURORA_LOCATION AURORA_MOON AURORA_BRIGHTNESS AURORA_CHANCE WATER_SIM_STRENGTH WATER_SIM_FRAMERATE WATER_SIM_SCALE WATER_SIM_DISTANCE dayStartTick nightStartTick daySpeed nightSpeed FAKE_REFRACTION_AMOUNT FAKE_DISPERSION_AMOUNT REFRACTION_SMUDGE_AMOUNT NORMAL_MAP_MULT DEFERRED_SSR_QUALITY FORWARD_SSR_QUALITY RAINBOW_TIME RAINBOW RAINBOW_DISTANCE RAINBOW_BRIGHTNESS VORTEX_LIGHT_COL_R VORTEX_LIGHT_COL_G VORTEX_LIGHT_COL_B END_LIGHTNING_COL_R END_LIGHTNING_COL_G END_LIGHTNING_COL_B END_HAZE_DENSTIY NETHER_CEILING_SMOKE_DENSITY NETHER_HAZE_DENSITY Max_Filter_Depth_END Min_Shadow_Filter_Radius_END MOON_TIME_OFFSET EARTH_ROTATION_TILT CUSTOM_SHADOWS_QUALITY MOON_LATITUDE MOON_SIZE_SETTING MONTH_LENGTH LIGHTNING_SHADOWS WHITE_BALANCE STARS_BRIGHTNESS STARS_AMOUNT AmbientLightEnd_R AmbientLightEnd_G AmbientLightEnd_B CloudLayer0_distance CloudLayer1_distance CloudLayer2_distance CloudLayer3_distance BLEND_FACTOR_DURING_MOVEMENT CloudLayer0_detail CloudLayer1_detail MIN_LIGHT_AMOUNT_INSIDE CUMULONIMBUS_FADE_TIME CUMULONIMBUS NOISE_RESOLUTION NOISE_INTENSITY NOISE_DROPOFF WAVE_DETAIL DH_CHUNK_FADING CLOUD_MOVEMENT_TYPE LIGHTLEAKFIX_MODE 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_AMOUNT 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 AmbientLightRain_R AmbientLightRain_G AmbientLightRain_B AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Sharpness 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 ambientOcclusionLevel SEA_LEVEL moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal fstop 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 DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDER_SCALE BLOOM_QUALITY VL_RENDER_SCALE RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 ROUGHNESS_THRESHOLD SUN_SPECULAR_MULT 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 = \ @@ -283,7 +283,7 @@ SHADER_VERSION_LABEL \ screen.SPECULAR.columns=1 screen.SPECULAR = \ - DEFERRED_SPECULAR DEFERRED_SSR_QUALITY DEFERRED_BACKGROUND_REFLECTION DEFERRED_ROUGH_REFLECTION FORWARD_SPECULAR FORWARD_SSR_QUALITY FORWARD_BACKGROUND_REFLECTION FORWARD_ROUGH_REFLECTION SUN_SPECULAR_MULT ROUGHNESS_THRESHOLD + QUARTER_RES_SSR SUN_SPECULAR_MULT ROUGHNESS_THRESHOLD DEFERRED_SPECULAR DEFERRED_SSR_QUALITY DEFERRED_BACKGROUND_REFLECTION DEFERRED_ROUGH_REFLECTION FORWARD_SPECULAR FORWARD_SSR_QUALITY FORWARD_BACKGROUND_REFLECTION FORWARD_ROUGH_REFLECTION 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 SCREENSPACE_DIRECT_SSS_BLENDING @@ -523,7 +523,7 @@ SHADER_VERSION_LABEL \ screen.DEBUG_STUFF = [the_end_orb] DEBUG_VIEW display_LUT WhiteWorld SSS_view ambientLight_only LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX ISOLATE_RESOURCEPACK_SKY CAVE_DETECTION screen.LEGACY_STUFF.columns = 2 - screen.LEGACY_STUFF = ORIGINAL_CHOCAPIC_SKY OLD_BLOOM OLD_CAVE_DETECTION OLD_INDIRECT_SSS CLOUD_PHASE OLD_STARS + screen.LEGACY_STUFF = ORIGINAL_CHOCAPIC_SKY OLD_BLOOM OLD_CAVE_DETECTION CLOUD_PHASE OLD_STARS screen.the_end_orb.columns = 1 screen.the_end_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_B @@ -971,13 +971,6 @@ uniform.int.dhVoxyRenderDistance = dhRenderDistance program.world-1/shadowcomp.enabled = false #endif -uniform.float.combined_near = near -uniform.float.combined_far = dhFarPlane -uniform.vec4.combined_projection_matrix_0 = vec4(gbufferProjection.0.0, 0.0, 0.0, 0.0) -uniform.vec4.combined_projection_matrix_1 = vec4(0.0, gbufferProjection.1.1, 0.0, 0.0) -uniform.vec4.combined_projection_matrix_2 = vec4(gbufferProjection.2.0, gbufferProjection.2.1, -((near + combined_far) / (combined_far - near)), 0.0) -uniform.vec4.combined_projection_matrix_3 = vec4(0.0, 0.0, -((2.0 * combined_far * near) / (combined_far - near)), 0.0) - #if defined CUSTOM_MOON_ROTATION || defined END_ISLAND_LIGHT bufferObject.0 = 512 @@ -1051,6 +1044,4 @@ uniform.vec4.combined_projection_matrix_3 = vec4(0.0, 0.0, -((2.0 * combined_far image.waveSim = waveSimSampler RG RG16F HALF_FLOAT false false 8192 8192 image.waveSim2 = waveSim2Sampler RGBA RGBA16F HALF_FLOAT false false 8192 8192 #endif -#endif - -image.cloudShadow = cloudShadowSampler RGBA RGBA8 UNSIGNED_BYTE false false 1024 1024 \ No newline at end of file +#endif \ No newline at end of file diff --git a/shaders/world-1/clrwl_shadow.vsh b/shaders/world-1/clrwl_shadow.vsh index 36aff5e..7737922 100644 --- a/shaders/world-1/clrwl_shadow.vsh +++ b/shaders/world-1/clrwl_shadow.vsh @@ -45,7 +45,7 @@ Read the terms of modification and sharing before changing something below pleas void main() { - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store #ifdef LPV_NOSHADOW_HACK vec3 playerpos = gl_Vertex.xyz; #else diff --git a/shaders/world-1/shadow.vsh b/shaders/world-1/shadow.vsh index 0bc3c6c..b037e6c 100644 --- a/shaders/world-1/shadow.vsh +++ b/shaders/world-1/shadow.vsh @@ -40,7 +40,7 @@ Read the terms of modification and sharing before changing something below pleas void main() { - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store #ifdef LPV_NOSHADOW_HACK vec3 playerpos = gl_Vertex.xyz; #else diff --git a/shaders/world0/clrwl_shadow.vsh b/shaders/world0/clrwl_shadow.vsh index 9ca4318..811fe4d 100644 --- a/shaders/world0/clrwl_shadow.vsh +++ b/shaders/world0/clrwl_shadow.vsh @@ -213,7 +213,7 @@ void main() { playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz; // #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store PopulateShadowVoxel(playerpos); #endif diff --git a/shaders/world0/shadow.vsh b/shaders/world0/shadow.vsh index 157e334..472da41 100644 --- a/shaders/world0/shadow.vsh +++ b/shaders/world0/shadow.vsh @@ -211,7 +211,7 @@ void main() { playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz; // #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store || WATER_INTERACTION == 2 || defined SHADER_GRASS + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store || WATER_INTERACTION == 2 || defined SHADER_GRASS PopulateShadowVoxel(playerpos); #endif diff --git a/shaders/world0_with_aether_flag/shadow.vsh b/shaders/world0_with_aether_flag/shadow.vsh index c368a31..cc5b6c9 100644 --- a/shaders/world0_with_aether_flag/shadow.vsh +++ b/shaders/world0_with_aether_flag/shadow.vsh @@ -202,7 +202,7 @@ void main() { vec3 playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz; // #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store PopulateShadowVoxel(playerpos); #endif diff --git a/shaders/world0_with_twilight_forest_flag/shadow.vsh b/shaders/world0_with_twilight_forest_flag/shadow.vsh index c368a31..cc5b6c9 100644 --- a/shaders/world0_with_twilight_forest_flag/shadow.vsh +++ b/shaders/world0_with_twilight_forest_flag/shadow.vsh @@ -202,7 +202,7 @@ void main() { vec3 playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz; // #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store PopulateShadowVoxel(playerpos); #endif diff --git a/shaders/world1/clrwl_shadow.vsh b/shaders/world1/clrwl_shadow.vsh index 0a0e42c..1f42e98 100644 --- a/shaders/world1/clrwl_shadow.vsh +++ b/shaders/world1/clrwl_shadow.vsh @@ -60,12 +60,12 @@ varying vec2 texcoord; void main() { - #if defined END_ISLAND_LIGHT || (defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store) + #if defined END_ISLAND_LIGHT || (defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store) vec3 shadowViewPos = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz; vec3 feetPlayerPos = mat3(shadowModelViewInverse) * shadowViewPos + shadowModelViewInverse[3].xyz; #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store #ifdef LPV_NOSHADOW_HACK vec3 playerpos = gl_Vertex.xyz; #else diff --git a/shaders/world1/gbuffers_weather.fsh b/shaders/world1/gbuffers_weather.fsh index 952945b..83d04b4 100644 --- a/shaders/world1/gbuffers_weather.fsh +++ b/shaders/world1/gbuffers_weather.fsh @@ -36,7 +36,7 @@ vec3 toScreenSpaceVector(vec3 p) { //////////////////////////////VOID MAIN////////////////////////////// void main() { -/* DRAWBUFFERS:2 */ +/* RENDERTARGETS:2 */ gl_FragData[0] = texture2D(gtexture, lmtexcoord.xy)*color; gl_FragData[0].a = clamp(gl_FragData[0].a -0.1,0.0,1.0)*0.5; vec3 albedo = toLinear(gl_FragData[0].rgb*color.rgb); diff --git a/shaders/world1/shadow.vsh b/shaders/world1/shadow.vsh index 4b8b5de..0002132 100644 --- a/shaders/world1/shadow.vsh +++ b/shaders/world1/shadow.vsh @@ -57,12 +57,12 @@ varying vec2 texcoord; void main() { - #if defined END_ISLAND_LIGHT || (defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store) + #if defined END_ISLAND_LIGHT || (defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store) vec3 shadowViewPos = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz; vec3 feetPlayerPos = mat3(shadowModelViewInverse) * shadowViewPos + shadowModelViewInverse[3].xyz; #endif - #if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store || WATER_INTERACTION == 2 || defined SHADER_GRASS + #if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store || WATER_INTERACTION == 2 || defined SHADER_GRASS #ifdef LPV_NOSHADOW_HACK vec3 playerpos = gl_Vertex.xyz; #else