diff --git a/shaders/block.properties b/shaders/block.properties index 3fb7f0c..bbb2ff3 100644 --- a/shaders/block.properties +++ b/shaders/block.properties @@ -69,5 +69,5 @@ #endif -layer.translucent=minecraft:glass_pane minecraft:glass +layer.translucent=minecraft:glass_pane minecraft:glass # layer.solid = minecraft:tripwire minecraft:slime_block minecraft:nether_portal minecraft:honey_block minecraft:ice minecraft:black_stained_glass minecraft:black_stained_glass_pane minecraft:blue_stained_glass minecraft:blue_stained_glass_pane minecraft:brown_stained_glass minecraft:brown_stained_glass_pane minecraft:cyan_stained_glass minecraft:cyan_stained_glass_pane minecraft:gray_stained_glass minecraft:gray_stained_glass_pane minecraft:green_stained_glass minecraft:green_stained_glass_pane minecraft:light_blue_stained_glass minecraft:light_blue_stained_glass_pane minecraft:light_gray_stained_glass minecraft:light_gray_stained_glass_pane minecraft:lime_stained_glass minecraft:lime_stained_glass_pane minecraft:magenta_stained_glass minecraft:magenta_stained_glass_pane minecraft:orange_stained_glass minecraft:orange_stained_glass_pane minecraft:pink_stained_glass minecraft:pink_stained_glass_pane minecraft:purple_stained_glass minecraft:purple_stained_glass_pane minecraft:red_stained_glass minecraft:red_stained_glass_pane minecraft:white_stained_glass minecraft:white_stained_glass_pane minecraft:yellow_stained_glass minecraft:yellow_stained_glass_pane minecraft:glass_pane minecraft:glass \ No newline at end of file diff --git a/shaders/composite.fsh b/shaders/composite.fsh index ede484c..e327b58 100644 --- a/shaders/composite.fsh +++ b/shaders/composite.fsh @@ -158,7 +158,6 @@ void main() { /* DRAWBUFFERS:3 */ vec2 texcoord = gl_FragCoord.xy*texelSize; - float z = texture2D(depthtex1,texcoord).x; vec2 tempOffset=TAA_Offset; @@ -184,6 +183,10 @@ void main() { float NdotL = clamp(dot(normal,WsunVec),0.0,1.0); + // vec4 normalAndAO = texture2D(colortex15,texcoord); + // vec3 FlatNormals = normalAndAO.rgb * 2.0 - 1.0; + // float vanillAO = clamp(normalAndAO.a,0.0,1.0) ; + float vanillAO = clamp(texture2D(colortex15,texcoord).a,0.0,1.0) ; if(lightmap.y < 0.1 && !entities){ @@ -193,7 +196,7 @@ void main() { float SpecularTex = texture2D(colortex8,texcoord).z; - float LabSSS = clamp((-65.0 + SpecularTex * 255.0) / 190.0 ,0.0,1.0); + float LabSSS = clamp((-64.0 + SpecularTex * 255.0) / 191.0 ,0.0,1.0); #ifndef Variable_Penumbra_Shadows if (LabSSS > 0.0 && !hand && NdotL < 0.001) minshadowfilt += 50; @@ -201,14 +204,9 @@ void main() { gl_FragData[0] = vec4(minshadowfilt, 0.1, 0.0, 0.0); - if (z < 1.0){ + if (z < 1.0 && !hand){ - // if( translucent || translucent2) - - if (!hand){ - - - vec3 fragpos = toScreenSpace(vec3(texcoord/RENDER_SCALE-vec2(tempOffset)*texelSize*0.5,z)); + vec3 fragpos = toScreenSpace(vec3(texcoord/RENDER_SCALE-vec2(tempOffset)*texelSize*0.5,z)); #ifdef Variable_Penumbra_Shadows @@ -216,6 +214,8 @@ void main() { vec3 p3 = mat3(gbufferModelViewInverse) * fragpos + gbufferModelViewInverse[3].xyz; + // GriAndEminShadowFix(p3, viewToWorld(FlatNormals), vanillAO, lightmap.y, entities); + vec3 projectedShadowPosition = mat3(shadowModelView) * p3 + shadowModelView[3].xyz; projectedShadowPosition = diagonal3(shadowProjection) * projectedShadowPosition + shadowProjection[3].xyz; @@ -247,7 +247,10 @@ void main() { vec2 offsetS = tapLocation_alternate(i, 0.0, 7, 20, randomDir); float weight = 3.0 + (i+blueNoise() ) *rdMul/SHADOW_FILTER_SAMPLE_COUNT*shadowMapResolution*distortFactor/2.7; + // float d = texelFetch2D( shadow, ivec2((projectedShadowPosition.xy+offsetS*rdMul)*shadowMapResolution),0).x; float d = texelFetch2D( shadow, ivec2((projectedShadowPosition.xy+offsetS*rdMul)*shadowMapResolution),0).x; + + float b = smoothstep(weight*diffthresh/2.0, weight*diffthresh, projectedShadowPosition.z - d); blockerCount += b; @@ -265,7 +268,5 @@ void main() { } } #endif - } - } -} +} \ No newline at end of file diff --git a/shaders/composite1.fsh b/shaders/composite1.fsh index 669bc8e..82c803d 100644 --- a/shaders/composite1.fsh +++ b/shaders/composite1.fsh @@ -12,7 +12,6 @@ const bool shadowHardwareFiltering = true; flat varying vec3 averageSkyCol_Clouds; flat varying vec4 lightCol; -flat varying vec2 rodExposureDepth; flat varying vec3 WsunVec; flat varying vec2 TAA_Offset; @@ -44,7 +43,6 @@ uniform sampler2DShadow shadow; varying vec4 normalMat; uniform int heldBlockLightValue; uniform int frameCounter; -uniform float screenBrightness; uniform int isEyeInWater; uniform float far; uniform float near; @@ -69,6 +67,9 @@ uniform vec3 sunVec; uniform ivec2 eyeBrightnessSmooth; uniform ivec2 eyeBrightness; +uniform float screenBrightness; +flat varying vec2 rodExposureDepth; + flat varying float WinterTimeForSnow; // uniform int worldTime; @@ -607,6 +608,7 @@ vec3 SubsurfaceScattering_sun(vec3 albedo, float Scattering, float Density, floa scatter *= 0.5 + CustomPhase(lightPos, 1.0,30.0)*20; return scatter; + } vec3 SubsurfaceScattering_sky(vec3 albedo, float Scattering, float Density){ @@ -614,7 +616,8 @@ vec3 SubsurfaceScattering_sky(vec3 albedo, float Scattering, float Density){ vec3 absorbed = max(luma(albedo) - albedo,0.0); vec3 scatter = sqrt(exp(-(absorbed * Scattering * 15))) * (1.0 - Scattering); - scatter *= pow(Density,LabSSS_Curve); + // scatter *= pow(Density,LabSSS_Curve); + scatter *= clamp(1 - exp(Density * -10),0,1); return scatter; } @@ -804,7 +807,9 @@ void main() { ////// --------------- UNPACK MISC --------------- ////// vec4 SpecularTex = texture2D(colortex8,texcoord); - float LabSSS = clamp((-65.0 + SpecularTex.z * 255.0) / 190.0 ,0.0,1.0); + // float LabSSS = clamp((-65.0 + SpecularTex.z * 255.0) / 190.0 ,0.0,1.0); + + float LabSSS = clamp((-64.0 + SpecularTex.z * 255.0) / 191.0 ,0.0,1.0); vec4 normalAndAO = texture2D(colortex15,texcoord); vec3 FlatNormals = normalAndAO.rgb * 2.0 - 1.0; @@ -835,7 +840,6 @@ void main() { vec3 ambientCoefs = normal/dot(abs(normal),vec3(1.)); - 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.); @@ -946,13 +950,13 @@ void main() { //////////////////////////////// SUN SSS //////////////////////////////// vec3 SSS = vec3(0.0); - #ifndef Variable_Penumbra_Shadows - if(LabSSS > 0 ) { - SHADOWBLOCKERDEPTBH = pow(1.0 - Shadows,2); - } - #endif - #if SSS_TYPE != 0 + #ifndef Variable_Penumbra_Shadows + if(LabSSS > 0 ) { + SHADOWBLOCKERDEPTBH = pow(1.0 - Shadows,2); + } + #endif + if (outsideShadowMap) SHADOWBLOCKERDEPTBH = 0.0; @@ -966,7 +970,7 @@ void main() { SSS = SubsurfaceScattering_sun(albedo, SHADOWBLOCKERDEPTBH, sunSSS_density, clamp(dot(np3, WsunVec),0.0,1.0)) ; SSS *= DirectLightColor; - if (isEyeInWater == 0) SSS *= lightleakfix; // light leak fix + if (isEyeInWater == 0) SSS *= clamp(pow(eyeBrightnessSmooth.y/240. + lightmap.y,2.0) ,0.0,1.0); // light leak fix #endif if (!hand){ @@ -999,12 +1003,17 @@ void main() { vec3 Indirect_lighting = vec3(1.0); // float skylight = clamp(abs(ambientCoefs.y + 1.0),0.35,2.0); - float skylight = clamp(ambientCoefs.y + 0.5,0.25,2.0); + + float skylight = clamp(ambientCoefs.y + 0.5,0.25,2.0) * 1.35; + // skylight *= skylight; + // if(texcoord.x >0.5) skylight = clamp(abs(ambientCoefs.y + 1.0),0.35,2.0); #if indirect_effect == 2 || indirect_effect == 3 || indirect_effect == 4 if (!hand) skylight = 1.0; #endif + AmbientLightColor += (lightningEffect * 10) * skylight * pow(lightmap.y,2); + // do this to make underwater shading easier. vec2 newLightmap = lightmap.xy; if((isEyeInWater == 0 && iswater) || (isEyeInWater == 1 && !iswater)) newLightmap.y = clamp(newLightmap.y,0,1); @@ -1060,7 +1069,7 @@ void main() { ScreenSpace_SSS(SkySSS, fragpos, blueNoise(gl_FragCoord.xy).rg, FlatNormals, isLeaf); #endif - vec3 ambientColor = ((AmbientLightColor * 2.0 * ambient_brightness) * 8./150./3.) * 1.5; + vec3 ambientColor = ((AmbientLightColor * ambient_brightness) / 30.0 ) * 1.5; float lightmap = pow(newLightmap.y,3); float uplimit = clamp(1.0-pow(clamp(ambientCoefs.y + 0.5,0.0,1.0),2),0,1); @@ -1182,9 +1191,10 @@ void main() { float estimatedDepth = Vdiff * abs(VdotU) ; //assuming water plane float estimatedSunDepth = estimatedDepth/abs(WsunVec.y); //assuming water plane - float custom_lightmap_T = pow(texture2D(colortex14, texcoord).a,3.0); + float custom_lightmap_T = clamp(pow(texture2D(colortex14, texcoord).a,3.0),0.0,1.0); - vec3 ambientColVol = (averageSkyCol_Clouds*8./150./2.) * max(custom_lightmap_T,MIN_LIGHT_AMOUNT*0.0015); + vec3 lightningColor = (lightningEffect / 3) * (max(eyeBrightnessSmooth.y,0)/240.); + vec3 ambientColVol = max((averageSkyCol_Clouds / 30.) * custom_lightmap_T, vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01 + nightVision)) + lightningColor; vec3 lightColVol = DirectLightColor; if (isEyeInWater == 0) waterVolumetrics(gl_FragData[0].rgb, fragpos0, fragpos, estimatedDepth , estimatedSunDepth, Vdiff, noise, totEpsilon, scatterCoef, ambientColVol, lightColVol, dot(np3, WsunVec)); @@ -1205,7 +1215,7 @@ void main() { #elif FOCUS_LASER_COLOR == 5 // White laserColor = vec3(25); #endif - + #if MANUAL_FOCUS == -2 float focusDist = rodExposureDepth.y*far; #elif MANUAL_FOCUS == -1 diff --git a/shaders/composite1.vsh b/shaders/composite1.vsh index 7cadca2..0458927 100644 --- a/shaders/composite1.vsh +++ b/shaders/composite1.vsh @@ -4,6 +4,7 @@ flat varying vec3 averageSkyCol_Clouds; flat varying vec4 lightCol; + flat varying vec2 rodExposureDepth; flat varying vec3 WsunVec; @@ -70,6 +71,8 @@ void main() { WsunVec = lightCol.a*normalize(mat3(gbufferModelViewInverse) *sunPosition); zMults = vec3((far * near)*2.0,far+near,far-near); + rodExposureDepth = texelFetch2D(colortex4,ivec2(14,37),0).rg; + rodExposureDepth.y = sqrt(rodExposureDepth.y/65000.0); WinterTimeForSnow = 0.0; @@ -82,10 +85,6 @@ void main() { #endif - rodExposureDepth = texelFetch2D(colortex4,ivec2(14,37),0).rg; - rodExposureDepth.y = sqrt(rodExposureDepth.y/65000.0); - - TAA_Offset = offsets[frameCounter%8]; #ifndef TAA diff --git a/shaders/composite2.fsh b/shaders/composite2.fsh index 6ca0dfb..0026ab8 100644 --- a/shaders/composite2.fsh +++ b/shaders/composite2.fsh @@ -279,7 +279,7 @@ void main() { #ifdef Cumulus #ifdef Cloud_Fog - vec4 VL_CLOUDFOG = InsideACloudFog(fragpos, vec2(R2_dither(),blueNoise()), lightCol.rgb/80., moonColor/150., (averageSkyCol*2.0) * 8./150./3.); + vec4 VL_CLOUDFOG = InsideACloudFog(fragpos, vec2(R2_dither(),blueNoise()), lightCol.rgb/80., moonColor/150., averageSkyCol/30.); // vec4 rays = vec4(0.0); // if(rainStrength > 0.0){ @@ -323,7 +323,8 @@ void main() { estEyeDepth *= estEyeDepth*estEyeDepth*34.0; - vec3 ambientColVol = averageSkyCol_Clouds*8./150./2.0; + vec3 lightningColor = (lightningEffect / 3) * (max(eyeBrightnessSmooth.y,0)/240.); + vec3 ambientColVol = (averageSkyCol_Clouds/30.0) + lightningColor; vec3 lightColVol = (lightCol.rgb / 80.); estEyeDepth = max(Water_Top_Layer - cameraPosition.y,0.0); diff --git a/shaders/composite3.fsh b/shaders/composite3.fsh index f25768d..d1b8dcd 100644 --- a/shaders/composite3.fsh +++ b/shaders/composite3.fsh @@ -254,7 +254,7 @@ void main() { vec4 vl = BilateralUpscale(colortex0, depthtex1, gl_FragCoord.xy, frDepth, vec2(0.0)); - if (TranslucentShader.a > 0.0 && !hand){ + if (TranslucentShader.a > 0.0){ #ifdef Glass_Tint if(albedo.a > 0.2) color = color*albedo.rgb + color * clamp(pow(1.0-luma(albedo.rgb),20.),0.0,1.0); #endif @@ -333,10 +333,6 @@ void main() { gl_FragData[0].r = vl.a; // pass fog alpha so bloom can do bloomy fog - // applyContrast(color.rgb,CONTRAST); - gl_FragData[1].rgb = clamp(color.rgb,0.0,68000.0); -// gl_FragData[1].rgb = vec3(tangentNormals,0.0); - } \ No newline at end of file diff --git a/shaders/composite5.fsh b/shaders/composite5.fsh index 4f720f1..69b4035 100644 --- a/shaders/composite5.fsh +++ b/shaders/composite5.fsh @@ -77,12 +77,13 @@ uniform vec2 texelSize; uniform float frameTimeCounter; uniform float viewHeight; uniform float viewWidth; -uniform int hideGUI; uniform int frameCounter; uniform int framemod8; uniform vec3 previousCameraPosition; uniform mat4 gbufferPreviousModelView; +uniform int hideGUI; + #define fsign(a) (clamp((a)*1e35,0.,1.)*2.-1.) #include "/lib/projections.glsl" diff --git a/shaders/deferred.fsh b/shaders/deferred.fsh index 107e3be..e0ff9ad 100644 --- a/shaders/deferred.fsh +++ b/shaders/deferred.fsh @@ -43,6 +43,8 @@ uniform vec3 cameraPosition; uniform float far; uniform ivec2 eyeBrightnessSmooth; +uniform float lightningFlash; + #include "/lib/Shadow_Params.glsl" #include "/lib/util.glsl" #include "/lib/ROBOBO_sky.glsl" @@ -104,6 +106,7 @@ const vec2[8] offsets = vec2[8](vec2(1./8.,-3./8.), vec2(3,7.)/8., vec2(7.,-7.)/8.); + void main() { /* DRAWBUFFERS:4 */ gl_FragData[0] = vec4(0.0); @@ -166,7 +169,10 @@ if (gl_FragCoord.x > 18.+257. && gl_FragCoord.y > 1. && gl_FragCoord.x < 18+257+ //Temporally accumulate sky and light values vec3 temp = texelFetch2D(colortex4,ivec2(gl_FragCoord.xy),0).rgb; vec3 curr = gl_FragData[0].rgb*150.; -gl_FragData[0].rgb = clamp(mix(temp,curr,0.07),0.0,65000.); + +float flashtiming = pow(clamp((0.01-lightningFlash)*100,0,1),25); + +gl_FragData[0].rgb = clamp(mix(temp,curr, 0.07 * flashtiming),0.0,65000.); //Exposure values if (gl_FragCoord.x > 10. && gl_FragCoord.x < 11. && gl_FragCoord.y > 19.+18. && gl_FragCoord.y < 19.+18.+1 ) diff --git a/shaders/deferred1.fsh b/shaders/deferred1.fsh index 8e16dee..db6be27 100644 --- a/shaders/deferred1.fsh +++ b/shaders/deferred1.fsh @@ -96,7 +96,7 @@ void main() { vec3 fragpos = toScreenSpace(vec3(halfResTC*texelSize,1)); - vec4 currentClouds = renderClouds(fragpos,vec2(R2_dither(),blueNoise2()), sunColor/80., moonColor/150., (averageSkyCol_Clouds*2.0)* 8./150./3.); + vec4 currentClouds = renderClouds(fragpos,vec2(R2_dither(),blueNoise2()), sunColor/80., moonColor/150., averageSkyCol_Clouds/30.0); gl_FragData[0] = currentClouds; diff --git a/shaders/entity.properties b/shaders/entity.properties index ae99a3c..d68a31b 100644 --- a/shaders/entity.properties +++ b/shaders/entity.properties @@ -3,7 +3,7 @@ ### all the different strengths of subsurface scattering and what entities to put them on. #medium sss (same as strong sss for blocks) -entity.1100 = slime giant ghast +entity.1100 = slime giant ghast elder_guardian #weak sss (same as weak sss for blocks) entity.1200 = ender_dragon player sheep frog chicken snow_golem polar_bear zombie_horse armor_stand arrow squid bat cat cod cow donkey fox horse mooshroom mule ocelot parrot pig piglin polar_bear pufferfish rabbit salmon strider tropical_fish turtle villager wandering_trader bee cave_spider dolphin enderman llama panda spider wolf zombified_piglin blaze creeper drowned endermite evoker guardian hoglin husk magma_cube phantom piglin_brute pillager ravager silverfish stray vex vindicator witch zoglin zombie zombie_villager wither trader_llama diff --git a/shaders/final.fsh b/shaders/final.fsh index 60dd0a6..bf8184e 100644 --- a/shaders/final.fsh +++ b/shaders/final.fsh @@ -11,6 +11,7 @@ uniform sampler2D colortex7; uniform vec2 texelSize; uniform float viewWidth; uniform float viewHeight; +uniform float aspectRatio; uniform float frameTimeCounter; uniform int frameCounter; uniform int isEyeInWater; @@ -19,6 +20,7 @@ uniform int isEyeInWater; #include "/lib/color_transforms.glsl" #include "/lib/color_dither.glsl" #include "/lib/res_params.glsl" + vec4 SampleTextureCatmullRom(sampler2D tex, vec2 uv, vec2 texSize ) { // We're going to sample a a 4x4 grid of texels surrounding the target UV coordinate. We'll do this by rounding @@ -84,14 +86,23 @@ float upperCurve(float x) { } void applyLuminanceCurve(inout vec3 color, float darks, float brights){ - // color.r = color.r < 0.5 ? pow(2.0 * color.r, darks) / 2.0 : 1.0 - (pow(2.0 - 2.0 * color.r, brights) / 2.0); + // color.r = color.r < 0.5 ? pow(2.0 * color.r, darks) / 2.0 : 1.0 - (pow(2.0 - 2.0 * color.r, brights) / 2.0); // color.g = color.g < 0.5 ? pow(2.0 * color.g, darks) / 2.0 : 1.0 - (pow(2.0 - 2.0 * color.g, brights) / 2.0); // color.b = color.b < 0.5 ? pow(2.0 * color.b, darks) / 2.0 : 1.0 - (pow(2.0 - 2.0 * color.b, brights) / 2.0); + color.r += darks * lowerCurve(color.r) + brights * upperCurve(color.r); color.g += darks * lowerCurve(color.g) + brights * upperCurve(color.g); color.b += darks * lowerCurve(color.b) + brights * upperCurve(color.b); } +void applyColorCurve(inout vec3 color, vec4 darks, vec4 brights){ + + color.r += (darks.r + darks.a) * lowerCurve(color.r) + (brights.r + brights.a) * upperCurve(color.r); + color.g += (darks.g + darks.a) * lowerCurve(color.g) + (brights.g + brights.a) * upperCurve(color.g); + color.b += (darks.b + darks.a) * lowerCurve(color.b) + (brights.b + brights.a) * upperCurve(color.b); + +} + void main() { #ifdef BICUBIC_UPSCALING vec3 col = SampleTextureCatmullRom(colortex7,texcoord,1.0/texelSize).rgb; @@ -122,8 +133,8 @@ void main() { vec3 FINAL_COLOR = clamp(int8Dither(col,texcoord),0.0,1.0); - #ifdef LUMINANCE_CURVE - applyLuminanceCurve(FINAL_COLOR, LOWER_CURVE, UPPER_CURVE); + #ifdef COLOR_CURVE + applyColorCurve(FINAL_COLOR, vec4(R_LOWER_CURVE, G_LOWER_CURVE, B_LOWER_CURVE, LOWER_CURVE), vec4(R_UPPER_CURVE, G_UPPER_CURVE, B_UPPER_CURVE, UPPER_CURVE)); #endif applyContrast(FINAL_COLOR, CONTRAST); // for fun diff --git a/shaders/gbuffers_all_particles.fsh b/shaders/gbuffers_all_particles.fsh index cbe6342..00e2fe0 100644 --- a/shaders/gbuffers_all_particles.fsh +++ b/shaders/gbuffers_all_particles.fsh @@ -100,7 +100,7 @@ vec3 normVec (vec3 vec){ /* DRAWBUFFERS:29 */ void main() { - vec4 TEXTURE = texture2D(texture, lmtexcoord.xy)*color; + vec4 TEXTURE = texture2D(texture, lmtexcoord.xy) * color; vec2 tempOffset = offsets[framemod8]; vec3 fragpos = toScreenSpace(gl_FragCoord.xyz*vec3(texelSize/RENDER_SCALE,1.0)-vec3(vec2(tempOffset)*texelSize*0.5,0.0)); @@ -109,20 +109,25 @@ void main() { float cloudOcclusion = 0.0; - if(TEXTURE.a > 0.0) cloudOcclusion = 1.0 - GetCloudSkyOcclusion(p3 + cameraPosition)*0.9; + if(TEXTURE.a > 0.0) cloudOcclusion = 1.0 - GetCloudSkyOcclusion(p3 + cameraPosition)*0.8; gl_FragData[1].a = TEXTURE.a * cloudOcclusion ; // for bloomy rain and stuff #ifndef WEATHER - gl_FragData[1].a = 1.0 - TEXTURE.a; + + #ifdef LIT + gl_FragData[1].a = 0.0; + #endif + gl_FragData[0].a = TEXTURE.a; - + vec3 Albedo = toLinear(TEXTURE.rgb); // do the maths only if the pixels exist.... if(TEXTURE.a > 0.0){ float Shadows = 1.0; + vec3 p3_shadow = mat3(gbufferModelViewInverse) * fragpos + gbufferModelViewInverse[3].xyz; vec3 projectedShadowPosition = mat3(shadowModelView) * p3_shadow + shadowModelView[3].xyz; projectedShadowPosition = diagonal3(shadowProjection) * projectedShadowPosition + shadowProjection[3].xyz; @@ -147,15 +152,21 @@ void main() { Shadows *= GetCloudShadow(p3); #endif + vec3 AmbientLightColor = averageSkyCol_Clouds; + vec3 DirectLightColor = lightCol.rgb/80.0; + + AmbientLightColor += (lightningEffect * 10) * pow(lmtexcoord.w,2); + float lightleakfix = clamp(eyeBrightnessSmooth.y/240.0,0.0,1.0); 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 Direct_lighting = DoDirectLighting(DirectLightColor, Shadows, 1.0, 0.0) * phase * lightleakfix; - vec3 Indirect_lighting = DoAmbientLighting(averageSkyCol_Clouds, vec3(TORCH_R,TORCH_G,TORCH_B), lmtexcoord.zw, 5.0); + vec3 Indirect_lighting = DoAmbientLighting(AmbientLightColor, vec3(TORCH_R,TORCH_G,TORCH_B), clamp(lmtexcoord.zw,0.0,1.0), 5.0); + // gl_FragData[0].a = TEXTURE.a; + gl_FragData[0].rgb = (Direct_lighting + Indirect_lighting) * Albedo; } - #endif } \ No newline at end of file diff --git a/shaders/gbuffers_all_solid.fsh b/shaders/gbuffers_all_solid.fsh index 48972d0..b9ded87 100644 --- a/shaders/gbuffers_all_solid.fsh +++ b/shaders/gbuffers_all_solid.fsh @@ -76,6 +76,8 @@ uniform float rainStrength; uniform sampler2D noisetex;//depth uniform sampler2D depthtex0; +uniform vec4 entityColor; + in vec3 velocity; flat varying int PHYSICSMOD_SNOW; @@ -414,7 +416,9 @@ void main() { //////////////////////////////// //////////////////////////////// vec4 Albedo = texture2D_POMSwitch(texture, adjustedTexCoord.xy, vec4(dcdx,dcdy), ifPOM) * color; - + + + if(LIGHTNING > 0) Albedo = vec4(1); float ENDPORTAL_EFFECT = PORTAL > 0 ? EndPortalEffect(Albedo, fragpos, worldpos, tbnMatrix) : 0; @@ -526,6 +530,11 @@ void main() { } #endif + // hit glow effect... + #ifdef ENTITIES + Albedo.rgb = mix(Albedo.rgb, entityColor.rgb, entityColor.a); + gl_FragData[2].a = mix(gl_FragData[2].a, 0.5, entityColor.a);; + #endif //////////////////////////////// //////////////////////////////// //////////////////////////////// FINALIZE //////////////////////////////// @@ -534,7 +543,7 @@ void main() { #ifdef WORLD #ifdef Puddles - float porosity = 0.35; + float porosity = 0.4; #ifdef Porosity porosity = SpecularTex.z >= 64.5/255.0 ? 0.0 : (SpecularTex.z*255.0/64.0)*0.65; #endif diff --git a/shaders/gbuffers_all_translucent.fsh b/shaders/gbuffers_all_translucent.fsh index 05573fe..622f815 100644 --- a/shaders/gbuffers_all_translucent.fsh +++ b/shaders/gbuffers_all_translucent.fsh @@ -401,7 +401,7 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize Shadows += shadow2D(shadow,vec3(projectedShadowPosition + vec3(rdMul*offsetS,-diffthresh*weight))).x/9.0; } #else - Shadows = shadow2D(shadow, projectedShadowPosition).x; + Shadows = shadow2D(shadow, projectedShadowPosition + vec3(0.0,0.0,-0.0001)).x; #endif shadowmapindicator = 1; @@ -414,6 +414,9 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize Shadows *= GetCloudShadow(p3); #endif + vec3 AmbientLightColor = averageSkyCol_Clouds; + vec3 DirectLightColor = lightCol.rgb/80.0; + vec3 WS_normal = viewToWorld(normal); vec3 ambientCoefs = WS_normal/dot(abs(WS_normal),vec3(1.)); float skylight = clamp(ambientCoefs.y + 0.5,0.25,2.0); @@ -423,8 +426,10 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize float lightleakfix = clamp(pow(eyeBrightnessSmooth.y/240. + lightmaps2.y,2) ,0.0,1.0); - 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); + AmbientLightColor += (lightningEffect * 10) * skylight * pow(lightmaps2.y,2); + + vec3 Indirect_lighting = DoAmbientLighting(AmbientLightColor, vec3(TORCH_R,TORCH_G,TORCH_B), lightmaps2, skylight); + vec3 Direct_lighting = DoDirectLighting(DirectLightColor, Shadows, NdotL, 0.0); vec3 FinalColor = (Direct_lighting + Indirect_lighting) * Albedo; @@ -469,7 +474,7 @@ if (gl_FragCoord.x * texelSize.x < RENDER_SCALE.x && gl_FragCoord.y * texelSize // SSR, Sky, and Sun reflections #ifdef WATER_BACKGROUND_SPECULAR - SkyReflection = skyCloudsFromTex(wrefl,colortex4).rgb / 150. * 5.; + SkyReflection = skyCloudsFromTex(wrefl,colortex4).rgb / 30.0; // SkyReflection = vec3(CaveFogColor_R,CaveFogColor_G,CaveFogColor_B)/ #endif #ifdef WATER_SUN_SPECULAR diff --git a/shaders/gbuffers_clouds.vsh b/shaders/gbuffers_clouds.vsh new file mode 100644 index 0000000..d83bef7 --- /dev/null +++ b/shaders/gbuffers_clouds.vsh @@ -0,0 +1,5 @@ +#version 120 + +void main() { + gl_Position.xyz = vec3(-1.0); +} diff --git a/shaders/gbuffers_spidereyes.fsh b/shaders/gbuffers_spidereyes.fsh index 07f3e98..53d6bca 100644 --- a/shaders/gbuffers_spidereyes.fsh +++ b/shaders/gbuffers_spidereyes.fsh @@ -40,16 +40,11 @@ void main() { vec4 Albedo = texture2D(texture, texcoord); - // if (Albedo.a > 0.1) Albedo.a = 1.0; - // else Albedo.a = 0.0; - - // vec4 data1 = vec4(1); - // gl_FragData[0] = vec4(encodeVec2(Albedo.x,data1.x), encodeVec2(Albedo.y,data1.y), encodeVec2(Albedo.z,data1.z), encodeVec2(data1.w,Albedo.w)); - Albedo *= color; Albedo.rgb = toLinear(Albedo.rgb); gl_FragData[0] = Albedo; + if (gl_FragData[0].r > 65000.) gl_FragData[0].rgba = vec4(0.); - gl_FragData[1] = vec4(0.0,0.0,0.0,0.5); + gl_FragData[1] = vec4(0.0,0.0,0.0,0.5); } \ No newline at end of file diff --git a/shaders/gbuffers_spidereyes.vsh b/shaders/gbuffers_spidereyes.vsh index 597ab25..5bb3b51 100644 --- a/shaders/gbuffers_spidereyes.vsh +++ b/shaders/gbuffers_spidereyes.vsh @@ -34,7 +34,7 @@ void main() { gl_Position = ftransform(); - // if(gl_Color.a < 0.1 ) gl_Position = vec4(10,10,10,1); + // gl_Position = vec4(10,10,10,1); texcoord = (gl_MultiTexCoord0).xy; color = gl_Color; diff --git a/shaders/gbuffers_textured_lit.fsh b/shaders/gbuffers_textured_lit.fsh index bcc6769..b867265 100644 --- a/shaders/gbuffers_textured_lit.fsh +++ b/shaders/gbuffers_textured_lit.fsh @@ -1,5 +1,6 @@ #version 120 +#define LIT // #define WEATHER #define PARTICLES #include "gbuffers_all_particles.fsh" \ No newline at end of file diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index 63306f8..797448d 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -243,7 +243,7 @@ option.DOF_QUALITY=Depth Of Field value.DOF_QUALITY.5=Jitter option.MANUAL_FOCUS=Focus option.DOF_ANAMORPHIC_RATIO=Anamorphic Ratio - value.MANUAL_FOCUS.-2=Autofocus + value.MANUAL_FOCUS.-2=Autofocus value.MANUAL_FOCUS.-1=Brightness Slider value.FOCUS_LASER_COLOR.0=Red value.FOCUS_LASER_COLOR.1=Green diff --git a/shaders/lang/pt_br.lang b/shaders/lang/pt_br.lang index 23f1ca3..f89e35f 100644 --- a/shaders/lang/pt_br.lang +++ b/shaders/lang/pt_br.lang @@ -16,7 +16,7 @@ screen.lightning_color=Relâmpago option.Lightning_G=Relâmpago Verde option.Lightning_B=Relâmpago Azul -option.WhiteWorld=MundoBranco +option.WhiteWorld=Mundo Branco option.ambientLight_only=Apenas Luz Ambiente option.Glass_Tint=Tintura de Vidro option.display_LUT=Mostrar LUT @@ -48,6 +48,7 @@ screen.Direct_Light = Luz Direta option.SHADOW_FILTER_SAMPLE_COUNT=Amostragem do Filtro de Sombra option.SCREENSPACE_CONTACT_SHADOWS = Sombras de Contato + option.RENDER_ENTITY_SHADOWS = Sombras para Entidades option.Stochastic_Transparent_Shadows=Sombras Transparentes Estocásticas option.SHADOW_FRUSTRUM_CULLING= Redução de Sombras Fora de Vista option.SHADOW_FRUSTRUM_CULLING.comment= Essa opção não funciona nas versões 1.17+. Pode aumentar o desempenho, mas cria gráficos incorretos nas sombras distantes. @@ -57,13 +58,15 @@ screen.Direct_Light = Luz Direta screen.Subsurface_Scattering = Espalhamento de Subsuperfície (SSS) option.LabSSS_Curve = Curva LabSSS + option.MISC_BLOCK_SSS = SSS para blocos aleatórios + option.MOB_SSS = SSS para mobs option.Ambient_SSS = SSS vindo do Céu option.ambientsss_brightness = Brilho do SSS vindo do Céu option.SSS_TYPE = Modo - option.SSS_TYPE.comment = Hardcoded significa que os shaders definem o que recebe SSS. LabSSS significa que o resourcepack define o que recebe SSS. RTX é sem nenhum SSS lol. Eu tive que roubar esse formato, RRe36 + option.SSS_TYPE.comment = Rígido significa que os shaders definem o que recebe SSS. LabSSS significa que o pacote de textura define o que recebe SSS. RTX é sem nenhum SSS. Eu tive que roubar esse formato, RRe36 value.SSS_TYPE.0 = RTX - value.SSS_TYPE.1 = Somente Hardcoded - value.SSS_TYPE.2 = Hardcoded + LabSSS + value.SSS_TYPE.1 = Somente Rígido + value.SSS_TYPE.2 = Rígido + LabSSS value.SSS_TYPE.3 = Somente LabSSS @@ -156,7 +159,7 @@ screen.Climate = Configurações de Clima option.Summer_R = Quantidade de Vermelho option.Summer_G = Quantidade de Verde option.Summer_B = Quantidade de Azul - option.Summer_Leaf_R = Quantidade de Verelho (para Folhas) + option.Summer_Leaf_R = Quantidade de Vermelho (para Folhas) option.Summer_Leaf_G = Quantidade de Verde (para Folhas)) option.Summer_Leaf_B = Quantidade de Azul (para Folhas)) @@ -219,7 +222,7 @@ screen.Post_Processing = Pós-Pocessamento option.SCREENSHOT_MODE = Modo Screenshot option.TAA = TAA option.BLEND_FACTOR = Coeficiente de Mistura - option.TAA_UPSCALING = Upscale Temporal + option.TAA_UPSCALING = Ampliação Temporal option.SCALE_FACTOR = Coeficiente de Escala screen.Tonemapping=Mapeamento de Tons/Cor @@ -259,10 +262,10 @@ screen.LabPBR = Lab PBR option.Emissive_Brightness = Multiplicador de Emissão option.Emissive_Curve = Curva de Emissão option.EMISSIVE_TYPE = Modo - option.EMISSIVE_TYPE.comment = Hardcoded significa que o shaders define o que tem emissão. Emissão Lab significa que o resourcepack define o que tem emissão. + option.EMISSIVE_TYPE.comment = Rígido significa que o shaders define o que tem emissão. Emissão Lab significa que o pacote de textura define o que tem emissão. value.EMISSIVE_TYPE.0 = Sem emissão - value.EMISSIVE_TYPE.1 = Somente Hardcoded - value.EMISSIVE_TYPE.2 = Hardcoded + Emissão Lab + value.EMISSIVE_TYPE.1 = Somente Rígido + value.EMISSIVE_TYPE.2 = Rígido + Emissão Lab value.EMISSIVE_TYPE.3 = Somente Emissão Lab @@ -314,4 +317,155 @@ option.AEROCHROME_MODE.comment=Filme Infravermelho. Pesquise "Aerochrome" pra te option.AEROCHROME_PINKNESS=Aerochrome Vermelho:Quociente Rosa option.AEROCHROME_PINKNESS.comment=Maior = Rosa. Menor = Vermelho option.AEROCHROME_WOOL_ENABLED=Lã em Aerochrome -option.AEROCHROME_WOOL_ENABLED.comment=Tecnicamente, coisas feitas de lã deveriam ser afetadas, mas isso arruína muitas construções. Habilite para ser mais tecnicamente correto. \ No newline at end of file +option.AEROCHROME_WOOL_ENABLED.comment=Tecnicamente, coisas feitas de lã deveriam ser afetadas, mas isso arruína muitas construções. Habilite para ser mais tecnicamente correto. + + + + + +screen.Misc_Settings.comment = Configurações aleatórias para DEPURAÇÃO (Debugging) ou outras modificações divertidas. +screen.Sun_and_Moon_Colors.comment = Ajustar da cor do sol ou da lua. +option.sunPathRotation.comment = Ajustar o ângulo do sol ou da lua +option.sun_illuminance.comment = Ajustar o brilho do sol +option.moon_illuminance.comment = Ajustar o brilho da lua + +screen.Direct_Light.comment = Ajuste configurações referentes ao sol e as sombras. + +screen.Shadows.comment = Ajuste as sombras do sol ao seu gosto. + option.SCREENSPACE_CONTACT_SHADOWS.comment = Sombras de Contato no Espaço de Tela. §bO Que é Isso?§r Essas são pequenas sombras para coisas que estão distantes, e também em pequenos detalhes próximos. §aCUSTO DE DESEMPENHO:§r baixo para médio; é mais pesado em resoluções mais altas. + option.RENDER_ENTITY_SHADOWS.comment = §bO Que é Isso?§r São sombras presentes em todos os tipos de entidades como mobs, baús, banners e placas. §aCUSTO DE DESEMPENHO:§r baixo para alto; é bastante pesado quando se tem muitas entidades por perto. + option.shadowMapResolution.comment = A qualidade das sombras do sol projetada por coisas no mundo. §aCUSTO DE DESEMPENHO:§r médio para muito alto; As sombras precisam renderizar o mundo 3D uma segunda vez da perspectiva do sol, é por isso que reduz o desempenho pela metade. + option.shadowDistance.comment = Distância máxima que o mapeamento de sombras consegue renderizar (não é uma distância linear). Eu recomendo a distância de sombra padrão, pois as sombras de contato conseguem lidar com as sombras distantes. §aCUSTO DE DESEMPENHO:§r médio para muito alto; Se a distância de renderização dos chunks for longa, as sombras se tornarão mais pesadas. + screen.Filtering.comment = Ajuste os efeitos de filtragem aplicados às sombras. + option.SHADOW_FILTER_SAMPLE_COUNT.comment = A qualidade do filtro básico para as sombras. Esse filtro apenas suaviza as sombras. §aCUSTO DE DESEMPENHO:§r baixo para médio; Aumentar isso pode reduzir alguns dos ruídos presentes na borda das sombras. + option.Min_Shadow_Filter_Radius.comment = A suavização máxima do filtro básico para as sombras. + option.Variable_Penumbra_Shadows.comment = Esse efeito suaviza as sombras à medida que elas se afastam da fonte de projeção. Esse efeito é usado para criar sombras de alta qualidade e o Espalhamento de Subsuperfície. §aCUSTO DE DESEMPENHO:§r baixo para alto; + option.VPS_Search_Samples.comment = A qualidade de filtragem das sombras de penumbra váriavel. §aCUSTO DE DESEMPENHO:§r baixo para alto; Aumentar isso deve reduzir alguns ruídos do Espalhamento de Subsuperfície e de sombras muito suavizadas. + option.Max_Shadow_Filter_Radius.comment = A suavização máxima que as sombras podem alcançar quando longe da fonte de projeção. + option.Max_Filter_Depth = Fator do tamanho do sol. + +screen.Ambient_light.comment = Ajuste as configurações referentes a iluminação das áreas sombreadas + option.AO_Strength.comment = Ajusta a força da oclusão de ambiente criada pelo SSAO, GTAO, RTAO, e SSGI. §bO Que é Isso?§r Oclusão de ambiente é uma suave e pequena sombra no canto das coisas. + option.GI_Strength.comment = Ajusta a força da iluminação global criada pelo SSGI. §bO Que é Isso?§r Iluminação global, nessa situação em especifíco, é o ressalto da luz de uma superfície em outra. + option.HQ_SSGI.comment = Habilita uma iluminação global no espaço de tela de longo alcance . §aCUSTO DE DESEMPENHO:§r muito alto + option.Hand_Held_lights.comment = Habilita a iluminação vindo da mão própria do shaders. §aCUSTO DE DESEMPENHO:§r muito baixo + option.ambientOcclusionLevel.comment = Ajusta a força da oclusão de ambiente vanilla do minecraft. §bO Que é Isso?§r Essa é uma oclusão de ambiente existente no Minecraft mesmo sem um shaders. + option.ambient_brightness.comment = Ajusta o brilho da iluminação em áreas que estão sombreadas. + option.MIN_LIGHT_AMOUNT.comment = Ajusta a quantidade mínima de luz que pode aparecer em áreas sombreadas + option.indirect_effect.comment = Habilita diferentes tipos de efeitos para conseguir uma iluminação de alta qualidade em áreas sombreadas. §aCUSTO DE DESEMPENHO:§r. AO Vanilla: muito baixo. SSAO: baixo para médio. GTAO: médio para alto. RTAO ou SSGI: alto para muito alto. + + screen.Ambient_Colors.comment = Ajusta a coloração da luz em áreas sombreadas. + screen.Torch_Colors.comment = Ajuste a coloração da luz de tochas ou outras fontes de luz colocadas. + +screen.LabPBR.comment = Um punhado de efeitos que usam informações fornecidas por um pacote de textura de formato LabPBR. + screen.Reflections.comment = Ajusta os reflexos que usam informações providas por um pacote de textura LabPBR. + option.Specular_Reflections.comment = Habilita todos os reflexos para pacotes LabPBR. Isso habilita o reflexo do sol, também permite habilitar outros ajustes abaixo. §aCUSTO DE DESEMPENHO:§r baixo + option.Screen_Space_Reflections.comment = Habilita reflexos no espaço de tela. §aCUSTO DE DESEMPENHO:§r médio + option.Rough_reflections.comment = Habilita uma rugosidade mais detalhada para criar reflexos de alta qualidade. Causa uma quantidade alta de ruídos vísiveis. §aCUSTO DE DESEMPENHO:§r médio para alto + option.Sky_reflection.comment = Habilita reflexos do céu e da névoa. §aCUSTO DE DESEMPENHO:§r baixo para médio. + option.Dynamic_SSR_quality.comment = Isso diminui a qualidade dos reflexos no espaço de tela com base em sua visibilidade. Pode aumentar o desempenho à custa da qualidade. + option.Roughness_Threshold.comment = Se a rugosidade chegar nesse limite, todos os reflexos exceto o do sol, não serão renderizados. Pode aumentar o desempenho. + option.Sun_specular_Strength.comment = Ajuste intensidade do brilho do reflexo do sol. + option.reflection_quality.comment = Ajuste a qualidade dos reflexos no espaço de tela. + +screen.Subsurface_Scattering.comment = §bO Que é Isso?§r O Espalhamento de Subsuperfície é o que acontece quando você coloca uma luz na sua mão e ela começa a brilhar. O sol na verdade realiza a mesma coisa em plantas, tecidos, pele e outras coisas. + option.SSS_TYPE.comment = Ajusta como o espalhamento de subsuperfície é aplicado ao mundo. §bRígido:§r O shaders decide o que vai receber. §bLabSSS:§r O pacote de textura decide o que vai receber. §aCUSTO DE DESEMPENHO:§r muito baixo + option.MOB_SSS.comment = Habilita o espalhamento de subsuperfície em mobs. Jogadores são inclusos. §aCUSTO DE DESEMPENHO:§r muito baixo + option.MISC_BLOCK_SSS.comment = Habilita o espalhamento de subsuperfície para blocos aleatórios que talvez não se encaixem. Isso é sobretudo para a areia e grama. §aCUSTO DE DESEMPENHO:§r muito baixo + option.Ambient_SSS.comment = §bO Que é Isso?§r espalhamento de subsuperfície da luz vindo do céu, em vez do sol. §aCUSTO DE DESEMPENHO:§r muito baixo para médio; se o SSAO estiver habilitado isso tem um custo muito baixo, mas vai custar mais se o SSAO estiver DESLIGADO + option.ambientsss_brightness.comment = Ajuste o brilho do espalhamento de subsuperfície vindo da luz do céu. + +screen.Emissives.comment = §bO Que é Isso?§r Emissividade é quantidade de luz que algo está exaltando ou o quanto algo está brilhando. + option.Emissive_Brightness.comment = Ajuste o quão brilhante a emissão da textura deve ser. + option.EMISSIVE_TYPE.comment = Ajuste como a emissão de textura é aplicadas ao mundo. §bRígido:§r O shaders decide o que recebe. §bLabSSS:§r O pacote de textura decide o que recebe. §aCUSTO DE DESEMPENHO:§r muito baixo + option.Emissive_Curve.comment = Isso determina o quão rapidamente a textura emissiva atinge seu ponto mais brilhante. 1.0 é linear. + +screen.POM.comment = Ajuste as configurações referentes ao mapeamento de oclusão paralaxe, que usam informações providas por um pacote de textura. + option.POM.comment = §bO Que é Isso?§r Esse efeito tenta criar geometria 3D onde anteriormente não existia nenhuma, usando uma imagem especial de um pacote de textura. Basicamente, esse efeito empurra a textura para dentro, então pode ocorrer alguns artefatos visuais ao olhar por um ângulo íngreme. §aCUSTO DE DESEMPENHO:§r médio para alto + option.MAX_ITERATIONS.comment = Ajuste a qualidade do efeito de mapeamento de oclusão de paralaxe. Caso você perceber camadas individuais ao olhar de perto, aumentar isso criará mais camadas, tornando difícil a visualização delas. §aCUSTO DE DESEMPENHO:§r alto + option.POM_DEPTH.comment = O quão profundo o efeito de mapeamento de oclusão de paralaxe pode ir em uma superfície. §aCUSTO DE DESEMPENHO:§r muito baixo + option.MAX_DIST.comment = Distância máxima da câmera que o efeito de mapeamento de oclusão de paralaxe pode ser renderizado. §aCUSTO DE DESEMPENHO:§r alto + option.Adaptive_Step_length.comment = Isso aumentará a qualidade visual sem realmente aumentar a qualidade real. Isso pode causar alguns artefatos se observado de perto ou se houver um mapa de altura muito detalhado e com váriações intensas de altura . + option.Horrible_slope_normals.comment = Esta é uma implementação mal feita para dar superfície para os lados do mapeamento de oclusão de paralaxe. Eu não recomendo usar isso. §aCUSTO DE DESEMPENHO:§r baixo + +screen.Porosity.comment = Ajuste as configurações referentes a umidade e poças + option.Porosity.comment = §bO Que é Isso?§r Porosidade é a descrição do quão poroso algum material é, ou essencialmente quanta aguá ele pode ter dentro dele. Por exemplo, esponjas são bastante porosas; a água é contida dentro dela, deixando-a mais escura como resultado. §aPERFORMANCE COST:§r low + option.Puddles.comment = Habilitar poças quando chover. §aCUSTO DE DESEMPENHO:§r baixo + option.Puddle_Size.comment = Ajuste o tamanho das poças. + +screen.Fog.comment = Ajuste as configurações referentes à névoa volumétrica raymarched ou à névoa baseada em distância. + option.VL_RENDER_RESOLUTION.comment = Ajuste a resolução da névoa volumétrica. §aCUSTO DE DESEMPENHO:§r alto + option.VL_SAMPLES.comment = Ajuste a qualidade da névoa volumétrica. §aCUSTO DE DESEMPENHO:§r alto + option.BLOOMY_FOG.comment = Ajuste a força do bloom que é aplicado a névoa. §bO Que é Isso?§r Esse efeito faz a névoa parecer suave, ajuda a mitigar um pouco do ruído também. Pode causar um pouco de tremulação em bordas detalhadas. §aCUSTO DE DESEMPENHO:§r muito baixo + option.Haze_amount.comment = Ajuste quão densa é a atmosféra ao seu redor. §bO Que é Isso?§r É aquela neblina azul que você vê na distância. + option.RainFog_amount.comment = Ajusta quão densa a névoa fica quando chove. + option.Cloud_Fog.comment = Habilita uma névoa detalhada quando você estiver dentro ou ao redor de uma nuvem. §aCUSTO DE DESEMPENHO:§r baixo para médio + option.BorderFog.comment = Habilita uma névoa que esconde os chunks não carregados. + + screen.TOD_fog.comment = Ajuste a densidade da névoa que aparece em tempos especifícos do dia. + option.TOD_Fog_mult.comment = Ajustar quanta névoa total aparece em tempos especifícos do dia. Isso não afeta a neblina atmosférica. + + screen.Biome_Fog.comment = Ajuste as configurações para a névoa que aparece apenas em biomas especifícos. + option.Biome_specific_environment.comment = Habilita névoa que apenas aparece em biomas especifícos. §aCUSTO DE DESEMPENHO:§r baixo + + screen.Cave_Fog.comment = Ajuste configurações para névoa que aparece quando você está em lugares muito escuros como cavernas. + option.Cave_Fog.comment = Habilita a névoa que aparece quando você está em lugares escuros. É impossível para um shaders dizer de forma exata se você está em uma caverna, então essa névoa pode aparecer em lugares que não são exatamente uma caverna. §aCUSTO DE DESEMPENHO:§r baixo + option.CaveFogFallOff.comment = Ajustar o quão rápido o gradiante da névoa chega no seu brilho máximo. + +screen.Clouds.comment = Ajuste as configurações referentes às nuvens volumétricas raymarched. + option.VOLUMETRIC_CLOUDS.comment = Habilitar as nuvens. §aCUSTO DE DESEMPENHO:§r médio para alto + option.CLOUDS_QUALITY.comment = Ajuste a resolução das nuvens volumétricas. §aCUSTO DE DESEMPENHO:§r alto + option.CLOUDS_SHADOWS.comment = Habilite sombras que são projetadas pelas nuvens no solo, e a névoa abaixo delas. §aCUSTO DE DESEMPENHO:§r baixo para médio + option.Daily_Weather.comment = Habilite o clima diário. Eu coloquei 8 perfis climáticos, onde o shaders passa por eles todos os dias. Não é possível alterar nenhuma das opções de cobertura de nuvens quando isso está habilitado. §aCUSTO DE DESEMPENHO:§r baixo + option.Cloud_Speed.comment = Ajusta o quão rapidamente as nuvens se movem ao passar do dia. + option.Rain_coverage.comment = Ajuste o quanto as nuvens cobrem o céu durante a chuva. + + option.Cumulus.comment = Habilite as camadas inferiores de nuvens. §aCUSTO DE DESEMPENHO:§r médio + option.Cumulus_coverage.comment = Ajuste o quanto do céu as nuvens inferiores cobrem. Essa opção não funciona enquanto o clima diário estiver ativado. + option.Cumulus_density.comment = Ajuste o quão densa as camadas inferiores de nuvens são. + option.Cumulus_height.comment = Ajuste a altura à qual as camadas de nuvens inferiores voam. + + option.Altostratus.comment = Habilite as camadas superiores de nuvens. §aCUSTO DE DESEMPENHO:§r baixo + option.Alto_coverage.comment = Ajuste o quanto do céu as nuvens superiores cobrem. Essa opção não funciona enquanto o clima diário estiver ativado. + option.Alto_density.comment = Ajuste o quão densa as camadas superiores de nuvens são. + +screen.World.comment = Ajuste as configurações para várias coisas que acontecem no mundo, desde o balançar das plantas até o comportamento da água. + screen.Water.comment = Ajuste configurações referentes a água. + option.WATER_REFLECTIONS.comments = Habilita todos os reflexos para coisas translúcidas. Isso permite que outras configurçaões abaixo sejam ativadas. §aCUSTO DE DESEMPENHO:§r baixo + option.SCREENSPACE_REFLECTIONS.comment = Habilita o reflexos no espaço de tela em coisas translúcidas. §aCUSTO DE DESEMPENHO:§r médio + option.SSR_STEPS.comment = Ajusta a qualidade do reflexo no espaço de tela em coisas trasnlúcidas. §aCUSTO DE DESEMPENHO:§r médio para alto + option.WATER_SUN_SPECULAR.comment = Habilita o reflexo do sol e da lua em coisas translúcidas. §aCUSTO DE DESEMPENHO:§r baixo + option.WATER_BACKGROUND_SPECULAR.comment = Habilita o reflexo do céu e da névoa para coisas translúcidas. §aCUSTO DE DESEMPENHO:§r baixo para médio + option.Refraction.comment = Habilita a refração em coisas translúcidas. §bO Que é Isso?§r Se você olhar para a água, é possível ver a refração da luz distorcendo o que está dentro dela. §aCUSTO DE DESEMPENHO:§r baixo + option.Dirt_Amount.comment = Ajusta a quantidade de sujeira na água. Isso controla a quantidade de névoa presente na água. + option.Water_Top_Layer.comment = Ajuste a coordenada Y em que o oceano deve ser posicionado no mundo. + + screen.Water_fog_color.comment = Ajuste a coloração da névoa da água. + +screen.Climate.comment = Ajuste as configurações referentes ao clima, como a cor das estações, clima diário e névoa especifíca de bioma. + screen.Seasons.comment = Cores sazonais que se alternam, verão, outono, inverno e primavera. + option.Seasons.comment = Cores sazonais que se alternam, verão, outono, inverno e primavera. §aCUSTO DE DESEMPENHO:§r baixo + option.Season_Length.comment = Controla quão longo uma única estação dura, em dias do minecraft. + option.Snowy_Winter.comment = Habilita neve durante o inverno. §aCUSTO DE DESEMPENHO:§r baixo + screen.Summer_colors.comment = Ajuste as cores da vegetação durante o verão. + screen.Fall_colors.comment = Ajuste as cores da vegetação durante o outono. + screen.Winter_colors.comment = Ajuste as cores da vegetação durante o inverno. + screen.Spring_colors.comment = Ajuste as cores da vegetação durante a primavera. + +screen.Waving_Stuff.comment = Ajuste as configurações referentes ao balançar das coisas . + option.WAVY_PLANTS.comment = Habilita o balançar das plantas. §aCUSTO DE DESEMPENHO:§r muito baixo + option.WAVY_STRENGTH.comment = Ajuste a quantidade com que as plantas balançam. + option.WAVY_SPEED.comment = Ajuste a velocidade com que as plantas balançam. + +screen.Post_Processing.comment = Ajuste configurações para todos os pós-processamentos, como antisserrilhamento e mapeamento de tons. + screen.Exposure.comment = Ajuste configurações referentes à exposição. + screen.DepthOfField.comment = Ajuste configurações referentes ao campo de profundidade. + screen.Purkinje_effect.comment = Ajuste configurações referentes ao efeito purkinje. + option.SHARPENING.comment = Ajuste a quantidade de nitidez adaptativa de contraste aplicada à imagem. Isso pode realçar detalhes perdidos pelo antisserrilhamento ou ampliação. + option.BLOOM_STRENGTH.comment = Ajustar a quantidade de bloom que é aplicado à imagem. §bO Que é Isso?§r Bloom ou incandescência é o suave brilho em tudo, usado para descrever se algo está brilhante ou não. + screen.TAA_OPTIONS.comment = Ajuste configurações referentes ao antisserrilhamento. + option.SCREENSHOT_MODE.comment = Habilita a acumulação de quadros ou frames para obter uma imagem de alta qualidade, sem ruídos. §bO Que é Isso?§r Ele combina quadros de imagens que já aconteceram no próximo quadro que está sendo gerado, semelhante a uma foto de longa exposição. + option.TAA.comment = Habilita o antisserrilhamento temporal. Isso remove todas as bordas serrilhadas das coisas, suaviza a imagem e ajuda a reduzir o ruído de vários efeitos. No entanto, ele pode causar um efeito de ghosting ou efeito de rastro, pois ele utiliza quadros passados para obter informações adicionais do mundo. §aCUSTO DE DESEMPENHO:§r baixo + option.BLEND_FACTOR.comment = Ajusta a qauntidade de histórico de quadros utilizado. Valores altos significam que há menos dependência do histórico de quadros, o que pode resultar em uma imagem irregular e com ruído. Valores baixos dependem mais do histórico de quadros, o que pode resultar em uma imagem borrada e com efeito de rastro. + option.TAA_UPSCALING.comment = Habilita ampliação temporal. Isso conserva uma boa quantidade de qualidade de uma imagem de resolução mais baixa quando ela é ampliada. Assim, você mantém uma aparência de boa resolução em comporação a ampliação típica e ainda continua com um desempenho melhor. + option.SCALE_FACTOR.comment = Ajuste a partir de qual fração da sua resolução realizar a ampliação. Abaixo de 0.5 não é nem um pouco recomendado, e eu apenas tenho como opção porque é engraçado :P \ No newline at end of file diff --git a/shaders/lang/zh_cn.lang b/shaders/lang/zh_cn.lang index e3434b9..6b242d1 100644 --- a/shaders/lang/zh_cn.lang +++ b/shaders/lang/zh_cn.lang @@ -1,39 +1,29 @@ +<<<<<<< HEAD screen.Misc_Settings = 杂项 screen.Sun_and_Moon_Colors = 日月颜色 option.sunPathRotation = 太阳角度 option.sun_illuminance = 阳光照度 option.moon_illuminance = 月光照度 -screen.Waving_Stuff = 摇晃相关 - option.WAVY_PLANTS = 植物摇晃 - option.WAVY_STRENGTH = 摇晃强度 - option.WAVY_SPEED = 摇晃速度 screen.Direct_Light = 直接照明 + screen.Filtering = 阴影过滤设置 screen.Shadows = 阴影 - option.RENDER_ENTITY_SHADOWS = 实体阴影 option.SCREENSPACE_CONTACT_SHADOWS = 屏幕空间接触阴影 option.shadowMapResolution = 阴影分辨率 option.shadowDistance = 阴影距离 - screen.Filtering = 阴影过滤设置 - option.SHADOW_FILTER_SAMPLE_COUNT = 阴影过滤采样数 - option.Min_Shadow_Filter_Radius = 最小阴影过滤半径 - option.Variable_Penumbra_Shadows = 可变半阴影 (VPS) - option.VPS_Search_Samples = VPS 检索采样数 - option.Max_Shadow_Filter_Radius = 最大阴影过滤半径 - option.Max_Filter_Depth = 最大过滤深度 -screen.Subsurface_Scattering = 次表面散射 (SSS) - option.LabSSS_Curve = LabSSS 曲线 - option.MISC_BLOCK_SSS = 随机方块次表面散射 - option.MOB_SSS = 怪物次表面散射 + +screen.Subsurface_Scattering = 次表面散射 + option.LabSSS_Curve = LabPBR 次表面散射曲线值 option.Ambient_SSS = 天空光次表面散射 option.ambientsss_brightness = 天空光次表面散射亮度 option.SSS_TYPE = 次表面散射模式 - value.SSS_TYPE.0 = 无 + option.SSS_TYPE.comment = 硬编码意味着由着色器定义什么方块应该具有次表面散射效果. LabRBR 资源包次表面散射意味着由 LabPBR 资源包决定什么方块应该具有次表面散射. RTX 不会有方块具有次表面散射效果, 乐. 我不得不盗取了这样的格式, RRe36 . + value.SSS_TYPE.0 = RTX value.SSS_TYPE.1 = 仅硬编码 - value.SSS_TYPE.2 = 硬编码 + LabSSS - value.SSS_TYPE.3 = 仅 LabSSS + value.SSS_TYPE.2 = 硬编码 + LabRBR 资源包次表面散射 + value.SSS_TYPE.3 = 仅 LabRBR 资源包次表面散射 screen.Ambient_light = 环境光 @@ -92,7 +82,7 @@ screen.Fog = 雾气设置 screen.Cave_Fog = 洞穴雾气 option.Cave_fog = 洞穴雾气 - option.CaveFogFallOff = 洞穴雾气渐消曲线 + option.CaveFogFallOff = 洞穴雾气淡出距离 option.CaveFogColor_R = 洞穴雾气红色比重 option.CaveFogColor_G = 洞穴雾气绿色比重 option.CaveFogColor_B = 洞穴雾气蓝色比重 @@ -116,16 +106,11 @@ screen.Clouds = 云层设置 option.Alto_density = 高层云密度 -screen.Climate = 气候 +screen.Climate = 氛围 option.Seasons = 四季颜色 option.Season_Length = 季节长度 (以 MC 日为单位) - option.Start_Season = 起始季节 - value.Start_Season.0 = 夏季 (默认) - value.Start_Season.1 = 秋季 - value.Start_Season.2 = 冬季 - value.Start_Season.3 = 春季 option.Snowy_Winter = 雪冬 - screen.Summer_colors = 夏季颜色 + screen.Summer_colors = 夏天颜色 option.Summer_R = 植被 - 红 option.Summer_G = 植被 - 绿 option.Summer_B = 植被 - 蓝 @@ -133,7 +118,7 @@ screen.Climate = 气候 option.Summer_Leaf_G = 树叶 - 绿 option.Summer_Leaf_B = 树叶 - 蓝 - screen.Fall_colors = 秋季颜色 + screen.Fall_colors = 秋天颜色 option.Fall_R = 植被 - 红 option.Fall_G = 植被 - 绿 option.Fall_B = 植被 - 蓝 @@ -141,7 +126,7 @@ screen.Climate = 气候 option.Fall_Leaf_G = 树叶 - 绿 option.Fall_Leaf_B = 树叶 - 蓝 - screen.Winter_colors = 冬季颜色 + screen.Winter_colors = 冬天颜色 option.Winter_R = 植被 - 红 option.Winter_G = 植被 - 绿 option.Winter_B = 植被 - 蓝 @@ -149,7 +134,7 @@ screen.Climate = 气候 option.Winter_Leaf_G = 树叶 - 绿 option.Winter_Leaf_B = 树叶 - 蓝 - screen.Spring_colors = 春季颜色 + screen.Spring_colors = 春天颜色 option.Spring_R = 植被 - 红 option.Spring_G = 植被 - 绿 option.Spring_B = 植被 - 蓝 @@ -185,15 +170,15 @@ screen.Post_Processing = 后期处理 screen.Tonemapping = 色调映射 screen.Exposure = 曝光 screen.DepthOfField = 景深 (DOF) - screen.Purkinje_effect = 柏金赫现象设置 + screen.Purkinje_effect = 柏金赫现象 (Purkinje effect) 设置 option.SHARPENING = 对比度自适应锐化强度 option.BLOOM_STRENGTH = 泛光强度 screen.TAA_OPTIONS = 抗锯齿设置 option.SCREENSHOT_MODE = 截图模式 option.TAA = 时间性抗锯齿 (TAA) - option.BLEND_FACTOR = 混合比重 + option.BLEND_FACTOR = 混合倍数 option.TAA_UPSCALING = TAA 升采样 - option.SCALE_FACTOR = 放大倍率 + option.SCALE_FACTOR = 渲染倍率 screen.LabPBR = Lab PBR @@ -211,10 +196,11 @@ screen.LabPBR = Lab PBR option.Emissive_Brightness = 发光亮度 option.Emissive_Curve = 发光曲线 option.EMISSIVE_TYPE = 发光模式 + option.EMISSIVE_TYPE.comment = 硬编码意味着由光影定义什么方块应该发光. LabRBR资源包次表面散射意味着由labPBR资源包决定什么方块应该发光. value.EMISSIVE_TYPE.0 = 不发光 value.EMISSIVE_TYPE.1 = 仅硬编码 - value.EMISSIVE_TYPE.2 = 硬编码 + LabPBR 自发光 - value.EMISSIVE_TYPE.3 = 仅 LabPBR 自发光 + value.EMISSIVE_TYPE.2 = 硬编码 + LabPBR 发光 + value.EMISSIVE_TYPE.3 = 仅 LabPBR 发光 screen.POM = 视差遮蔽映射 (POM) @@ -239,182 +225,40 @@ option.DOF_QUALITY=景深 (DOF) value.DOF_QUALITY.2=中质量 value.DOF_QUALITY.3=高质量 value.DOF_QUALITY.4=极高质量 - value.DOF_QUALITY.5=抖动 - option.MANUAL_FOCUS=对焦距离 option.DOF_ANAMORPHIC_RATIO=景深变形比 - value.MANUAL_FOCUS.-2=自动对焦 - value.MANUAL_FOCUS.-1=亮度滑块 - value.FOCUS_LASER_COLOR.0=红 - value.FOCUS_LASER_COLOR.1=绿 - value.FOCUS_LASER_COLOR.2=蓝 - value.FOCUS_LASER_COLOR.3=粉 - value.FOCUS_LASER_COLOR.4=黄 - value.FOCUS_LASER_COLOR.5=白 option.AEROCHROME_MODE=Aerochrome 模式 -option.AEROCHROME_PINKNESS=Aerochrome 模式 红色: 粉色 比例 -option.AEROCHROME_WOOL_ENABLED=Aerochrome 模式作用于羊毛 - option.AEROCHROME_MODE.comment=影响画面. 从谷歌浏览器的功能实现方式得到了灵感. +option.AEROCHROME_PINKNESS=Aerochrome 模式 红色: 粉色 比例 option.AEROCHROME_PINKNESS.comment=选项数值越高 = 越接近粉色. 选项数值越低 = 越接近红色. +option.AEROCHROME_WOOL_ENABLED=Aerochrome 模式作用于羊毛 option.AEROCHROME_WOOL_ENABLED.comment=技术上,与羊毛相关的方块都会受到影响,但会破坏了大量的建筑外观. 启用后可能会导致更多的技术性错误. - - - -screen.Misc_Settings.comment = 用于调试的一些随机选项和有趣的功能. -screen.Sun_and_Moon_Colors.comment = 配置太阳和月亮的颜色. -option.sunPathRotation.comment = 配置太阳和月亮的角度. -option.sun_illuminance.comment = 配置太阳的亮度. -option.moon_illuminance.comment = 配置月亮的亮度. - -screen.Direct_Light.comment = 配置和阳光或阴影相关的设置. - -screen.Shadows.comment = 根据喜好配置阳光的阴影. - option.SCREENSPACE_CONTACT_SHADOWS.comment = 屏幕空间接触阴影. §b这啥?§r 这是给远处事物的小部分阴影区域补充, 以及对近处小部分阴影区域添加细节. §a性能消耗水平:§r 低偏中; 在更高分辨率下会消耗更多性能. - option.RENDER_ENTITY_SHADOWS.comment = §b这啥?§r 所有类型实体的阴影, 例如怪物, 箱子, 旗帜, 或者告示牌. §a性能消耗水平:§r 低偏中; 在近处有特别多实体的时候消耗的性能会非常的恐怖. - option.shadowMapResolution.comment = 在太阳照射下从世界上的事物投射出来阴影的质量. §a性能消耗水平:§r 中或更高; 阴影需要从太阳的角度进行第二次 3D 世界的渲染, 这就是为什么它会使性能减半. - option.shadowDistance.comment = 阴影可渲染的最大距离 (这不是线性距离). 推荐保持默认, 因为接触阴影能解决远处阴影的渲染需求. §a性能消耗水平:§r 中或更高; 如果渲染距离非常大, 阴影的性能开销会很恐怖. - screen.Filtering.comment = 配置作用于阴影的过滤效果. - option.SHADOW_FILTER_SAMPLE_COUNT.comment = 基础阴影过滤器质量. 过滤器仅用于软化阴影. §a性能消耗水平:§r 低偏中; 拉高本选项数值可以减少阴影边缘的噪点. - option.Min_Shadow_Filter_Radius.comment = 基础阴影过滤器的最大软化程度. - option.Variable_Penumbra_Shadows.comment = 该效果使阴影离投射它的地方距离越远越柔和. 用于渲染更高质量的阴影和次表面散射. §a性能消耗水平:§r 低或高. - option.VPS_Search_Samples.comment = 可变半阴影过滤器质量. §a性能消耗水平:§r 低或高; 拉高本选项数值可以减少次表面散射和其它非常柔和地阴影的噪点. - option.Max_Shadow_Filter_Radius.comment = 离投射它的地方最大半径时阴影柔和程度达到最大. - option.Max_Filter_Depth.comment = 配置太阳大小. 若太阳更大, 阴影越靠近投射它的地方越柔和. - -screen.Ambient_light.comment = 配置和遮蔽处的照明相关的设置. - option.AO_Strength.comment = 配置由 SSAO, GTAO, RTAO, 和 SSGI 渲染的环境光遮蔽强度. §b这啥?§r 环境光遮蔽是指在角落区域的小块柔和阴影. - option.GI_Strength.comment = 配置由 SSGI 渲染的全局照明强度. §b这啥?§r 在该情况下, 全局照明是指光线从一个表面反弹到其他区域的现象. - option.HQ_SSGI.comment = 远距屏幕空间全局照明开关. §a性能消耗水平:§r 非常高. - option.Hand_Held_lights.comment = 动态手持光源 (光影实现) 开关. §a性能消耗水平:§r 非常低. - option.ambientOcclusionLevel.comment = 配置原版 Minecraft 的环境光遮蔽强度. §b这啥?§r 原版下该环境光遮蔽默认开启, 无关光影是否开启. - option.ambient_brightness.comment = 配置阴影区域的其他光源照明的亮度. - option.MIN_LIGHT_AMOUNT.comment = 配置阴影区域的最小照明水平. - option.indirect_effect.comment = 切换不同类型的间接照明效果使阴影区域渲染质量更好. §a性能消耗水平S:§r. 原版 AO: 非常低. SSAO: 低偏中. GTAO: 中偏高. RTAO or SSGI: 高或更高. - - screen.Ambient_Colors.comment = 配置阴影区域的照明颜色. - screen.Torch_Colors.comment = 配置火把或其它可放置光源的颜色. - -screen.LabPBR.comment = 由遵循 LabPBR 格式的资源包提供部分信息的小部分效果. - screen.Reflections.comment = 配置由 LabPBR 格式的资源包所提供信息的反射. - option.Specular_Reflections.comment = LabPBR 资源包所有反射的开关. 本选项同时启用太阳反射, 同时允许以下其它设置启用. §a性能消耗水平:§r 低. - option.Screen_Space_Reflections.comment = 屏幕空间反射开关. §a性能消耗水平:§r 中. - option.Rough_reflections.comment = 开启更精细的粗糙反射以获得更高的反射质量. 开启会导致出现大量可见噪点. §a性能消耗水平:§r 中偏高. - option.Sky_reflection.comment = 反射天空和雾气的开关. §a性能消耗水平:§r 低偏中. - option.Dynamic_SSR_quality.comment = 会基于它们的可见程度降低屏幕空间反射质量. 以降低质量为代价提升性能. - option.Roughness_Threshold.comment = 粗糙度达到阈值后除了太阳反射外所有反射都不渲染. 可提升性能. - option.Sun_specular_Strength.comment = 配置太阳反射亮度. - option.reflection_quality.comment = 配置屏幕空间反射质量. - -screen.Subsurface_Scattering.comment = §b这啥?§r 打个比方, 次表面散射类似于你把你的手盖住一个很亮的光源, 手掌呈现的那种从内部透光的感觉. 阳光实际上对植物, 衣服, 皮肤或者其它事物照耀都可以产生相同的效果. - option.SSS_TYPE.comment = 配置次表面散射如何在世界应用. §b硬编码:§r 由光影决定. §bLabSSS:§r 由资源包决定. §a性能消耗水平:§r 非常低. - option.MOB_SSS.comment = 怪物次表面散射开关. 也包含玩家. §a性能消耗水平:§r 非常低. - option.MISC_BLOCK_SSS.comment = 随机方块的次表面散射开关. 这个一般是指草和沙子. §a性能消耗水平:§r 非常低 - option.Ambient_SSS.comment = §b这啥?§r 天空光的次表面散射开关, 而不是太阳光. §a性能消耗水平:§r 低偏中; 如果启用了 SSAO , 本选项的性能消耗会很小, 反之如果关闭了会消耗得大. - option.ambientsss_brightness.comment = 配置天空光次表面散射亮度. - -screen.Emissives.comment = §b这啥?§r 自发光亮度是指某方块发光量或自发光强度. - option.Emissive_Brightness.comment = 配置自发光纹理发光亮度. - option.EMISSIVE_TYPE.comment = 配置自发光纹理如何在世界应用. §b硬编码:§r 由光影决定. §bLabPBR:§r 由资源包决定. §a性能消耗水平:§r 非常低. - option.Emissive_Curve.comment = 调整自发光纹理达到最高亮度的容易程度/速度. 1.0 是线性. - -screen.POM.comment = 配置由资源包提供信息的视差遮蔽映射的相关设置. - option.POM.comment = §b这啥?§r 通过使用资源包中的特殊图像, 在实际没有的区域渲染出 3D 几何图形. 这种效果基本上只向内凹, 所以大角度观察时, 会存在一些伪影. §a性能消耗水平:§r 中偏高. - option.MAX_ITERATIONS.comment = 配置视差效果的质量. 如果近距离仅看到了部分层, 则需要提高本项数值, 不然很难看到. §a性能消耗水平:§r 高. - option.POM_DEPTH.comment = 视差效果表面凹陷程度. §a性能消耗水平:§r 非常低. - option.MAX_DIST.comment = 视差效果以镜头为起点开始渲染的最远距离. §a性能消耗水平:§r 高. - option.Adaptive_Step_length.comment = 本选项可在不实际意义上提高质量的情况下提高视觉质量. 如果在非常近距离观察, 或者读取了陡峭的高度图, 会导致产生一些伪影. - option.Horrible_slope_normals.comment = 糟糕的实现, 给视差贴图的两侧提供表面. §a性能消耗水平:§r 低. - -screen.Porosity.comment = 配置和湿度, 水坑相关的设置. - option.Porosity.comment = §b这啥?§r 孔隙率是对某种材料的多孔性的描述, 也可以说是它容纳水的能力. 例如, 海绵是非常多孔的; 大量吸附水时, 会使它变黑. §a性能消耗水平:§r 低. - option.Puddles.comment = 雨天时水坑的开关. §a性能消耗水平:§r 低. - option.Puddle_Size.comment = 配置水坑大小. - -screen.Fog.comment = 配置和光线行进体积雾, 基于距离的雾气相关的设置. - option.VL_RENDER_RESOLUTION.comment = 配置体积雾分辨率. §a性能消耗水平:§r 高. - option.VL_SAMPLES.comment = 配置体积雾质量. §a性能消耗水平:§r 高 - option.BLOOMY_FOG.comment = 配置作用于雾气的泛化强度. §b这啥?§r 本选项的效果使雾气看起来更柔和, 同时有助于隐藏部分噪点. 但可能会导致在细节边缘出现一些明显的闪烁. §a性能消耗水平:§r 非常低. - option.Haze_amount.comment = 配置周遭的大气密度. §b这啥?§r 在远处看到的蓝色雾霾. - option.RainFog_amount.comment = 配置雨天时的雾气密度. - option.Cloud_Fog.comment = 进入云层内或靠近云层周围时, 更细致的雾气的开关. §a性能消耗水平:§r 低偏中. - option.BorderFog.comment = 隐藏未加载区块的雾气开关. - - screen.TOD_fog.comment = 配置一天中特定时间出现的雾气的密度. - option.TOD_Fog_mult.comment = 配置一天中特定时间出现的总体雾气量. 本选项不影响大气雾霾密度. - - screen.Biome_Fog.comment = 配置仅出现在特定群系的的雾气. - option.Biome_specific_environment.comment = 特定群系的特殊雾气效果开关. §a性能消耗水平:§r 低. - - screen.Cave_Fog.comment = 配置仅出现在黑暗区域的雾气设置, 例如洞穴. - option.Cave_Fog.comment = 仅出现在黑暗区域的雾气. 因为光影不可能准确地判断出你是否在一个洞穴里, 所以这种雾气可能会出现在不是洞穴的地方. §a性能消耗水平:§r 低. - option.CaveFogFallOff.comment = 配置雾化淡出梯度达到最亮部分的容易程度/速度. - -screen.Clouds.comment = 配置和光线步进体积云相关的设置. - option.VOLUMETRIC_CLOUDS.comment = 云层开关. §a性能消耗水平:§r 中偏高. - option.CLOUDS_QUALITY.comment = 配置体积云分辨率. §a性能消耗水平:§r 高. - option.CLOUDS_SHADOWS.comment = 从云层或雾气投射到地面的阴影的开关. §a性能消耗水平:§r 低偏中. - option.Daily_Weather.comment = 按周期循环的天气功能开关. 有八种天气预设, 每天光影会循环启用它们. 启用本选项后, 不能改变任何云层覆盖率设置. §a性能消耗水平:§r 低. - option.Cloud_Speed.comment = 配置日常时间云层的移动速度. - option.Rain_coverage.comment = 配置雨天时云层的覆盖率. - - option.Cumulus.comment = 低层云开关. §a性能消耗水平:§r 中. - option.Cumulus_coverage.comment = 配置低层云的天空覆盖率. 本选项在周期循环的天气启用时不生效. - option.Cumulus_density.comment = 配置低层云的密度. - option.Cumulus_height.comment = 配置低层云的高度. - - option.Altostratus.comment = 高层云开关. §a性能消耗水平:§r 低. - option.Alto_coverage.comment = 配置高层云的天空覆盖率. 本选项在周期循环的天气启用时不生效. - option.Alto_density.comment = 配置高层云的密度. - -screen.World.comment = 配置多种会在主世界发生的效果, 从摇摆植物到水体相关的设置等. - screen.Water.comment = 配置和水体相关的设置. - option.WATER_REFLECTIONS.comments = 所有半透明方块反射的开关. 本选项允许以下其它设置启用. §a性能消耗水平:§r 低. - option.SCREENSPACE_REFLECTIONS.comment = 半透明方块的屏幕空间反射开关. §a性能消耗水平:§r 中. - option.SSR_STEPS.comment = 配置半透明方块的屏幕空间反射质量. §a性能消耗水平:§r 中偏高. - option.WATER_SUN_SPECULAR.comment = 半透明方块的日月反射开关. §a性能消耗水平:§r 低. - option.WATER_BACKGROUND_SPECULAR.comment = 半透明方块的天空和雾气反射开关. §a性能消耗水平:§r 低偏中. - option.Refraction.comment = 半透明折射开关. §b这啥?§r 如果你观察水体, 可以看到光的折射会扭曲了水中的内容. §a性能消耗水平:§r 低. - option.Dirt_Amount.comment = 配置水中污物含量. 这可以控制水雾量. - option.Water_Top_Layer.comment = 配置海平面在世界中的 Y 坐标. - - screen.Water_fog_color.comment = 配置水雾颜色. - -screen.Climate.comment = 配置和气候相关的设置, 例如四季颜色, 周期循环的天气, 以及群系特定雾气. - screen.Seasons.comment = 循环往复的四季颜色, 夏秋冬春. - option.Seasons.comment = 循环往复的四季颜色, 夏秋冬春. §a性能消耗水平:§r 低. - option.Season_Length.comment = 控制单个季节的持续时间, 单位: MC 日. - option.Snowy_Winter.comment = 冬季积雪开关. §a性能消耗水平:§r 低. - screen.Summer_colors.comment = 配置夏季植被的颜色. - screen.Fall_colors.comment = 配置秋季植被的颜色. - screen.Winter_colors.comment = 配置冬季植被的颜色. - screen.Spring_colors.comment = 配置春季植被的颜色. - -screen.Waving_Stuff.comment = 配置和摇摆相关的设置. - option.WAVY_PLANTS.comment = 植物摇摆开关. §a性能消耗水平:§r 非常低. - option.WAVY_STRENGTH.comment = 配置摇摆效果强度. - option.WAVY_SPEED.comment = 配置植物摇摆速度. - -screen.Post_Processing.comment = 配置所有后处理效果设置, 从抗锯齿到色调映射等. - screen.Tonemapping.comment = 配置和颜色或色调相关的设置. - screen.Exposure.comment = 配置和曝光相关的设置. - screen.DepthOfField.comment = 配置和景深相关的设置. - screen.Purkinje_effect.comment = 配置和柏金赫现象相关的设置. 柏金赫现象: 人类眼睛对高度照明灵敏,而在低照明水平时,往光谱高频蓝端迁移的现象 (来源于百度百科). - option.SHARPENING.comment = 配置对比度自适应锐化作用于图像的强度. 本选项可以有效带出因抗锯齿和升分辨率产生的细节损失. - option.BLOOM_STRENGTH.comment = 配置作用于图像的泛光强度. §b这啥?§r 泛光是指柔和所有发光事物的效果, 用来描述某物是否明亮. - screen.TAA_OPTIONS.comment = 配置和抗锯齿相关的设置. - option.SCREENSHOT_MODE.comment = 开启帧数积累以获得少噪点高质量的图像. §b这啥?§r 将已发生的帧叠加到生成的下一帧上, 类似于长曝光图像. - option.TAA.comment = 时间性抗锯齿 (TAA) 开关. 这可以去除大部分内容的锯齿状边缘, 软化图像, 并有助于去除许多效果产生的噪点. 但会导致拖影, 因为它使用过去的帧来获取世界额外信息. §a性能消耗水平:§r 低. - option.BLEND_FACTOR.comment = 配置历史帧使用比重. 更高的数值意味着依赖更少的历史帧, 所以可能会看起来很闪烁和嘈杂. 较低的数值意味着以来更多的历史帧, 所以可能会看起来很多脏点和拖影. - option.TAA_UPSCALING.comment = 时间性升分辨率. 升分辨率时, 可以从低分辨率的图像中保留大多数质量. 因此与常规升分辨率相比, 可以开启一个看起来很高的分辨率的同时也能有更好的性能. - option.SCALE_FACTOR.comment = 配置以原有分辨率的多大一部分来开始升分辨率. 不推荐低于0.5, 只把它作为一个选项, 因为它很有趣. :P - - #Additional Options / 附加选项 #Direct Light + option.SCREENSPACE_CONTACT_SHADOWS.comment=在屏幕空间中从太阳获得投射阴影,以便于在阴影范围外或者在物体接触处投射阴影. 可能在高分辨率情况下有巨大的性能损耗. + + option.Variable_Penumbra_Shadows=可变半阴影 (VPS) + option.Variable_Penumbra_Shadows.comment=距离被投射物体时越远的阴影越模糊 (会降低帧数) . + option.VPS_Search_Samples=可变半阴影 (VPS) 的检索采样数 + option.VPS_Search_Samples.comment=对被投射物体时的检索采样次数. + option.Min_Shadow_Filter_Radius=最小阴影过滤半径 + option.Min_Shadow_Filter_Radius.comment=如果没有启用VPS,此选项数值将用作阴影过滤器的大小. + option.Max_Shadow_Filter_Radius=最大阴影过滤半径 + option.Max_Shadow_Filter_Radius.comment=如果没有启用VPS,此选项将不会有作用. 当此选项数值设置过大时会出现问题. + option.Max_Filter_Depth=最大过滤深度 + option.Max_Filter_Depth.comment=此选项数值意味着 在被投射物体时与阴影投射位置的距离大小达到此数值时 阴影过滤器的尺寸达到最大. + option.SHADOW_FILTER_SAMPLE_COUNT=阴影过滤采样数 + option.SHADOW_FILTER_SAMPLE_COUNT.comment=用来过滤实际阴影的采样数. + + option.shadowMapResolution.comment=很大可能会在选择 16384 选项的时候崩溃游戏. + option.shadowDistance.comment=当 阴影距离渲染倍数 设置为-1.0的时候已经完全不是线性渲染,此时将本选项设置为175可满足40区块的渲染距离. + + option.LabSSS_Curve.comment=我只是非常好奇设置为 2.0 的时候会看起来怎样,所以才做了这个选项. + option.Ambient_SSS.comment=来自天空光的次表面散射. 如果启用了屏幕空间环境光遮蔽,本选项只会消耗很小的性能. + option.sunColorR=太阳 - 红色比重 option.sunColorG=太阳 - 绿色比重 option.sunColorB=太阳 - 蓝色比重 @@ -437,50 +281,123 @@ screen.Post_Processing.comment = 配置所有后处理效果设置, 从抗锯齿 #World option.Vanilla_like_water=原版水体样式 + option.Vanilla_like_water.comment=原版水纹理贴图混合光影水体. + option.SCREENSPACE_REFLECTIONS.comment=在高分辨率资源包或者高质量渲染下会非常影响性能,特别是在冰面上的反射. + option.Dirt_Amount.comment=水中有多少污物. + + option.Dirt_Scatter_R.comment=污物扩散红色能力. + option.Dirt_Scatter_G.comment=污物扩散绿色能力. + option.Dirt_Scatter_B.comment=污物扩散蓝色能力. + option.Dirt_Absorb_R.comment=污物吸收红色能力. + option.Dirt_Absorb_G.comment=污物吸收绿色能力. + option.Dirt_Absorb_B.comment=污物吸收蓝色能力. + option.Water_Absorb_R.comment=水体吸收红色能力. + option.Water_Absorb_G.comment=水体吸收绿色能力. + option.Water_Absorb_B.comment=水体吸收蓝色能力. + + option.Water_Top_Layer.comment=当在水下并且当 光照图深度估算 关闭时. 假设水面顶层在这个数值对应的高度 (Y 值) 来进行水下照明的计算. 如果设置不正确,水下会看起来很奇怪. + + screen.Waving_Stuff=摇晃相关 + option.WAVY_STRENGTH=摇晃强度 + option.WAVY_SPEED=摇晃速度 + option.WAVY_PLANTS=植物摇晃 + + option.Specular_Reflections.comment=方块上的反射. 需要一个 PBR 资源包. + option.Sun_specular_Strength.comment=调节以获得更大的发光面积. + option.Screen_Space_Reflections.comment=屏幕空间反射开关. 如果你想要正常的性能,但又想要方块有光泽和质感,可以关闭这个选项,因为太阳反射依旧保留. + option.reflection_quality.comment=调整屏幕空间反射的质量. + option.Rough_reflections.comment=开启粗糙度 GGX VNDF . 明显影响性能,同时会产生大量噪点. + option.Roughness_Threshold.comment=使用粗糙度曲线调节来让反射在粗糙面上更清楚或者更模糊. 有利于隐藏粗糙面材质上的噪点. + option.Sky_reflection.comment=估计有人不喜欢反射天空,以防万一所以有了这个选项. + option.Dynamic_SSR_quality.comment=粗糙反射质量会更低. 在很多场景下可以稍微提升性能表现. + + option.LabSSS_Curve.comment=我只是非常好奇设置为 2.0 的时候会看起来怎样,所以才做了这个选项. + option.Ambient_SSS.comment=来自天空光的次表面散射. 如果启用了屏幕空间环境光遮蔽,本选项只会消耗很小的性能. + + option.Emissive_Curve.comment=是的,我在这里明目张胆借鉴了 Kappa . + + option.Adaptive_Step_length.comment=仅使用部分视差深度获取采样, 以提升整体的质量. 缺点: 从大角度来观察, 会有不小的错误. + option.MAX_ITERATIONS.comment=拉高以提高投射角的质量 (降低性能) . + option.POM_DEPTH.comment=单位: 米. 资源包推荐深度数值: . Vanillaccurate: 0.15-0.25. VNR: 0.20. Patrix: 1.0. + option.MAX_DIST.comment=拉高以增加计算视差的距离. + option.Horrible_slope_normals.comment=真的只适合低分辨率资源包. 在高分辨率资源包上会有很多锯齿和闪烁. + + option.Puddles.comment=耶! #Ambient_light + option.Emissive_Curve.comment=是的,我在这里明目张胆借鉴了 Kappa . + + option.ambient_colortype.comment= 0 = 色温模式. 1 = RGB 滑块模式 + suffix.ambient_temp=K + option.MIN_LIGHT_AMOUNT=最小照明强度 + option.indirect_effect.comment=原版 AO 是 Minecraft 原版使用的环境光遮蔽. SSAO 基础, 常见且快速, 同时包含了原版 AO. GTAO 质量更高, 更少噪点, 速度适中. RTAO 基于路径追踪的环境光遮蔽, 缓慢且多噪点. SSGI 基于路径追踪全局照明且同时考虑环境光遮蔽, 最慢并且很多噪点. + + option.AO_Strength.comment=用于调整阴影区域的强度. + option.GI_Strength.comment=用于调整反射全局照明区域的亮度. + option.ambientOcclusionLevel.comment=本选项控制原版 Minecraft 环境光遮蔽强度. + #Fog + option.VL_RENDER_RESOLUTION.comment=降低计算体积雾的分辨率. (0.5 = 默认分辨率的一半). + + option.Cloud_Fog.comment=渲染两次体积云和体积雾使飞跃云层成为可能. 可预见的性能下降. + + option.Biome_specific_environment.comment=使雾气在特定生物群系中时有独特的密度和颜色. (沼泽、丛林、繁茂洞穴、巨型针叶林、黑森林). + + option.BorderFog.comment=哼啊啊啊啊啊啊啊啊. + + option.cave_fog.comment=洞穴雾气... #Post_Processing - option.TONEMAP=色调映射方法 - option.USE_ACES_COLORSPACE_APPROXIMATION=启用 ACES 色彩空间的近似值拟合 - option.SATURATION=饱和度 - option.CROSSTALK=去饱和度 - option.CONTRAST=对比度 + option.SCREENSHOT_MODE.comment=进入渲染模式,累积帧直到满足需求的最高图像质量. + option.BLEND_FACTOR.comment=更高的值意味更多的闪烁,但图像更清晰. 更低的值意味较少的闪烁,但图像较模糊. + + option.TAA_UPSCALING.comment=降低渲染分辨率并使用TAA来组合几个低分辨率的图像 (大大提高了性能) . 用它来代替光影渲染精细度选项.如果你想提高FPS(将其设为1). 如果你想提高质量,请禁用这个选项并增大光影渲染精细度倍数. + option.SCALE_FACTOR.comment=渲染分辨率倍率. 不推荐低于 0.5 . + + option.TONEMAP=色调映射方法 + option.TONEMAP.comment=不同的色调映射方法. + option.USE_ACES_COLORSPACE_APPROXIMATION=启用 ACES 色彩空间的近似值拟合 + option.USE_ACES_COLORSPACE_APPROXIMATION.comment=ACES=Academy Color Encoding System,是一套颜色编码系统. 决定色调映射是否使用另一个色彩空间. + option.SATURATION=饱和度 + option.SATURATION.comment=负值使颜色不饱和. 正值使颜色饱和. 0值意味着没有变化. + option.CROSSTALK=去饱和度 + option.CROSSTALK.comment=使明亮的颜色不饱和,在较暗的区域保持饱和度(如果是负值,则反转). 有助于去除大多数荧光色. option.FinalR=最终图像 - 红色偏移程度 option.FinalG=最终图像 - 绿色偏移程度 option.FinalB=最终图像 - 蓝色偏移程度 option.AUTO_EXPOSURE=自动曝光 + option.AUTO_EXPOSURE.comment=强烈建议启用这个选项,除非需要截图. option.EXPOSURE_MULTIPLIER=曝光强度 option.Exposure_Speed=曝光速度 option.Manual_exposure_value=手动曝光值 - screen.JITTER_DOF=抖动景深 - option.DOF_JITTER=抖动景深 - option.DOF_JITTER_FOCUS=抖动景深对焦距离 - option.JITTER_STRENGTH=抖动强度 - option.JITTER_STRENGTH.comment=抱歉 - option.FOCUS_LASER_COLOR=聚焦颜色 - option.FOCUS_LASER_COLOR.comment=红, 绿, 蓝, 粉, 黄, 白. - option.AUTOFOCUS=自动对焦 + option.AUTOFOCUS.comment=此选项为关时,亮度滑块可以调节手动对焦距离. option.focal=焦距 + option.focal.comment=单位: 厘米. option.aperture=光圈 - option.DoF_Adaptation_Speed=景深虚化自适应速度 + option.aperture.comment=单位: 厘米. + option.MANUAL_FOCUS=手动对焦距离 + option.MANUAL_FOCUS.comment=当 自动对焦 选项关闭时,通过调节此选项确定对焦距离(单位是米). + option.DoF_Adaptation_Speed=景深虚化适应速度 option.FAR_BLUR_ONLY=仅虚化远处 + option.FAR_BLUR_ONLY.comment=移除那些比对焦点更靠近镜头物体的景深效果. + screen.Purkinje_effect.comment=是人类眼睛对高度照明灵敏,而在低照明水平时,往光谱高频蓝端迁移的现象 (来源于百度百科). option.Purkinje_strength=柏金赫现象强度 + option.Purkinje_strength.comment=模拟眼睛在低光强度下无法看到颜色的情况. 0 值意味着在低曝光情况下没有柏金赫现象. option.Purkinje_R=柏金赫 - 红色 option.Purkinje_G=柏金赫 - 绿色 option.Purkinje_B=柏金赫 - 蓝色 option.Purkinje_Multiplier=柏金赫现象倍率 + option.Purkinje_Multiplier.comment=决定柏金赫现象影响亮度的程度. screen.Editing=后期编辑 option.Compositing_Sky=天空组成 @@ -489,13 +406,17 @@ screen.Post_Processing.comment = 配置所有后处理效果设置, 从抗锯齿 option.CompSky_G=天空组成 - 绿色 option.CompSky_B=天空组成 - 蓝色 - option.CONTRAST=对比度 - option.LUMINANCE_CURVE=亮度曲线 - option.UPPER_CURVE=上部曲线 - option.LOWER_CURVE=下部曲线 #Clouds + option.VOLUMETRIC_CLOUDS.comment=如果不喜欢默认设置时云的噪点,可以调高云的计算采样值. 如果这对性能影响过大,可以降低云质量. + option.CLOUDS_SHADOWS.comment=主世界云层投射的阴影. + option.Daily_Weather.comment=不同的日子有不同的天空和不同的雾气效果. + option.Cloud_Speed.comment=云层移动的速度. + option.Rain_coverage.comment=雨天时云层的覆盖率. + option.Cumulus.comment=一层远处的蓬松云彩. + option.Cumulus_height.comment=云层底部Y轴高度. + option.Altostratus.comment=一层在遥远天边的层云. #Misc Settings screen.the_orb=末地球形天体 @@ -515,18 +436,539 @@ screen.Post_Processing.comment = 配置所有后处理效果设置, 从抗锯齿 option.Lightning_B=闪电 - 蓝色 option.WhiteWorld=全白世界 - option.WhiteWorld.comment=用于调试的视图. 易于观察环境光遮蔽的效果. 易于观察模拟全局光照 (绿光) 的效果. + option.WhiteWorld.comment=这是用于 Debug 的视图. 易于观察 环境光遮蔽 的效果. 易于观察 模拟全局光照 (绿光) 的效果. option.ambientLight_only=仅启用环境光 - option.ambientLight_only.comment=用于调试的视图. 关闭太阳光. 此选项不会影响性能,阴影依旧会在后台工作. + option.ambientLight_only.comment=这是用于 Debug 的视图. 关闭太阳光. 此选项不会影响性能,阴影依旧会在后台工作. option.Glass_Tint=玻璃色调 option.Glass_Tint.comment=背景通过混合玻璃本身的颜色获得强烈的色调. option.display_LUT=显示 LUT + option.display_LUT.comment=哼啊啊啊啊啊啊啊啊. option.ambientSSS_view=天空光次表面散射视图 #Climate screen.Seasons=季节 + option.Season_Length.comment=决定季节的长度,以 MC 日为单位. 91 日大致为现实中一个季节的长度. 设置为 1 会使得一年只持续四天. suffix.Season_Length=MC日 + option.Snowy_Winter.comment=冬天就应该下雪,不是吗? + + option.Summer_R.comment=在这个季节中植被的颜色. + option.Summer_G.comment=在这个季节中植被的颜色. + option.Summer_B.comment=在这个季节中植被的颜色. + option.Summer_Leaf_R.comment=在这个季节中树叶的颜色. + option.Summer_Leaf_G.comment=在这个季节中树叶的颜色. + option.Summer_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Fall_R.comment=在这个季节中植被的颜色. + option.Fall_G.comment=在这个季节中植被的颜色. + option.Fall_B.comment=在这个季节中植被的颜色. + option.Fall_Leaf_R.comment=在这个季节中树叶的颜色. + option.Fall_Leaf_G.comment=在这个季节中树叶的颜色. + option.Fall_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Winter_R.comment=在这个季节中植被的颜色. + option.Winter_G.comment=在这个季节中植被的颜色. + option.Winter_B.comment=在这个季节中植被的颜色. + option.Winter_Leaf_R.comment=在这个季节中树叶的颜色. + option.Winter_Leaf_G.comment=在这个季节中树叶的颜色. + option.Winter_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Spring_R.comment=在这个季节中植被的颜色. + option.Spring_G.comment=在这个季节中植被的颜色. + option.Spring_B.comment=在这个季节中植被的颜色. + option.Spring_Leaf_R.comment=在这个季节中树叶的颜色. + option.Spring_Leaf_G.comment=在这个季节中树叶的颜色. + option.Spring_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Biome_specific_environment.comment=使雾气在特定生物群系中时有独特的密度和颜色. (沼泽、丛林、繁茂洞穴、巨型针叶林、黑森林). + option.Daily_Weather.comment=不同的日子有不同的天空和不同的雾气效果. option.PhysicsMod_support=Physics (物理) 模组支持 +======= +screen.Misc_Settings = 杂项 +screen.Sun_and_Moon_Colors = 日月颜色 +option.sunPathRotation = 太阳角度 +option.sun_illuminance = 阳光照度 +option.moon_illuminance = 月光照度 + + +screen.Direct_Light = 直接照明 + screen.Filtering = 阴影过滤设置 + screen.Shadows = 阴影 + option.SCREENSPACE_CONTACT_SHADOWS = 屏幕空间接触阴影 + option.shadowMapResolution = 阴影分辨率 + option.shadowDistance = 阴影距离 + + +screen.Subsurface_Scattering = 次表面散射 + option.LabSSS_Curve = LabPBR 次表面散射曲线值 + option.Ambient_SSS = 天空光次表面散射 + option.ambientsss_brightness = 天空光次表面散射亮度 + option.SSS_TYPE = 次表面散射模式 + option.SSS_TYPE.comment = 硬编码意味着由着色器定义什么方块应该具有次表面散射效果. LabRBR 资源包次表面散射意味着由 LabPBR 资源包决定什么方块应该具有次表面散射. RTX 不会有方块具有次表面散射效果, 乐. 我不得不盗取了这样的格式, RRe36 . + value.SSS_TYPE.0 = RTX + value.SSS_TYPE.1 = 仅硬编码 + value.SSS_TYPE.2 = 硬编码 + LabRBR 资源包次表面散射 + value.SSS_TYPE.3 = 仅 LabRBR 资源包次表面散射 + + +screen.Ambient_light = 环境光 + option.AO_Strength = 环境光遮蔽强度 + option.GI_Strength = 全局照明强度 + option.HQ_SSGI = 远距 SSGI + option.Hand_Held_lights = 手持光源 + option.ambientOcclusionLevel = 原版 AO 强度 + option.ambient_brightness = 环境光照明亮度 + option.MIN_LIGHT_AMOUNT = 最小照明强度 + option.indirect_effect = 间接照明模式 + value.indirect_effect.0 = 原版 AO + value.indirect_effect.1 = SSAO + value.indirect_effect.2 = GTAO + value.indirect_effect.3 = RTAO + value.indirect_effect.4 = SSGI + + screen.Ambient_Colors = 环境光颜色 + option.ambient_temp = 环境光色温 + option.AmbientLight_R = 环境光红色比重 + option.AmbientLight_G = 环境光绿色比重 + option.AmbientLight_B = 环境光蓝色比重 + option.ambient_colortype = 环境光颜色类型 + value.ambient_colortype.0 = 色温模式 + value.ambient_colortype.1 = RGB 滑块模式 + + screen.Torch_Colors = 照明颜色 + option.TORCH_AMOUNT = 照明强度 + option.TORCH_R = 照明红色比重 + option.TORCH_G = 照明绿色比重 + option.TORCH_B = 照明蓝色比重 + + +screen.Fog = 雾气设置 + option.VL_RENDER_RESOLUTION = 体积雾渲染分辨率 + option.VL_SAMPLES = 体积雾采样值 + option.BLOOMY_FOG = 雾气泛化值 + option.Haze_amount = 大气雾霾密度 + option.RainFog_amount = 雨雾密度 + option.Cloud_Fog = 云中雾 + option.BorderFog = 边界雾 + + screen.TOD_fog = 全天雾气 + option.TOD_Fog_mult = 雾气密度倍率 + option.Morning_Uniform_Fog = 清晨 - 雾气密度 + option.Morning_Cloudy_Fog = 清晨 - 云雾密度 + option.Noon_Uniform_Fog = 正午 - 雾气密度 + option.Noon_Cloudy_Fog = 正午 - 云雾密度 + option.Evening_Uniform_Fog = 傍晚 - 雾气密度 + option.Evening_Cloudy_Fog = 傍晚 - 云雾密度 + option.Night_Uniform_Fog = 夜晚 - 雾气密度 + option.Night_Cloudy_Fog =夜 晚 - 云雾密度 + + screen.Biome_Fog = 群系雾 + option.Biome_specific_environment = 生物群系特定雾气 + + screen.Cave_Fog = 洞穴雾气 + option.Cave_fog = 洞穴雾气 + option.CaveFogFallOff = 洞穴雾气淡出距离 + option.CaveFogColor_R = 洞穴雾气红色比重 + option.CaveFogColor_G = 洞穴雾气绿色比重 + option.CaveFogColor_B = 洞穴雾气蓝色比重 + + +screen.Clouds = 云层设置 + option.VOLUMETRIC_CLOUDS = 体积云 + option.CLOUDS_QUALITY = 云层分辨率倍数 + option.CLOUDS_SHADOWS = 云影 + option.Daily_Weather = 周期循环的天气 + option.Cloud_Speed = 云层速度 + option.Rain_coverage = 雨云覆盖率 + + option.Cumulus = 积云 + option.Cumulus_coverage = 积云覆盖率 + option.Cumulus_density = 积云密度 + option.Cumulus_height = 积云高度 + + option.Altostratus = 高层云 + option.Alto_coverage = 高层云覆盖率 + option.Alto_density = 高层云密度 + + +screen.Climate = 氛围 + option.Seasons = 四季颜色 + option.Season_Length = 季节长度 (以 MC 日为单位) + option.Snowy_Winter = 雪冬 + screen.Summer_colors = 夏天颜色 + option.Summer_R = 植被 - 红 + option.Summer_G = 植被 - 绿 + option.Summer_B = 植被 - 蓝 + option.Summer_Leaf_R = 树叶 - 红 + option.Summer_Leaf_G = 树叶 - 绿 + option.Summer_Leaf_B = 树叶 - 蓝 + + screen.Fall_colors = 秋天颜色 + option.Fall_R = 植被 - 红 + option.Fall_G = 植被 - 绿 + option.Fall_B = 植被 - 蓝 + option.Fall_Leaf_R = 树叶 - 红 + option.Fall_Leaf_G = 树叶 - 绿 + option.Fall_Leaf_B = 树叶 - 蓝 + + screen.Winter_colors = 冬天颜色 + option.Winter_R = 植被 - 红 + option.Winter_G = 植被 - 绿 + option.Winter_B = 植被 - 蓝 + option.Winter_Leaf_R = 树叶 - 红 + option.Winter_Leaf_G = 树叶 - 绿 + option.Winter_Leaf_B = 树叶 - 蓝 + + screen.Spring_colors = 春天颜色 + option.Spring_R = 植被 - 红 + option.Spring_G = 植被 - 绿 + option.Spring_B = 植被 - 蓝 + option.Spring_Leaf_R = 树叶 - 红 + option.Spring_Leaf_G = 树叶 - 绿 + option.Spring_Leaf_B = 树叶 - 蓝 + + +screen.World = 世界 + screen.Water = 水体设置 + option.WATER_REFLECTIONS = 水面高光反射 + option.SCREENSPACE_REFLECTIONS = 屏幕空间反射 (SSR) + option.SSR_STEPS = SSR 采样值 + option.WATER_SUN_SPECULAR = 日月反射 + option.WATER_BACKGROUND_SPECULAR = 天空/雾气反射 + option.Refraction = 折射 (水体/玻璃) + option.Dirt_Amount = 水体浑浊程度 + option.Water_Top_Layer = 海平面 Y 轴坐标 + + screen.Water_fog_color = 水雾设置 + option.Dirt_Scatter_R = 红色扩散 (污物) + option.Dirt_Scatter_G = 绿色扩散 (污物) + option.Dirt_Scatter_B = 蓝色扩散 (污物) + option.Dirt_Absorb_R = 红色吸收 (污物) + option.Dirt_Absorb_G = 绿色吸收 (污物) + option.Dirt_Absorb_B = 蓝色吸收 (污物) + option.Water_Absorb_R = 红色吸收 (水体) + option.Water_Absorb_G = 绿色吸收 (水体) + option.Water_Absorb_B = 蓝色吸收 (水体) + + +screen.Post_Processing = 后期处理 + screen.Tonemapping = 色调映射 + screen.Exposure = 曝光 + screen.DepthOfField = 景深 (DOF) + screen.Purkinje_effect = 柏金赫现象 (Purkinje effect) 设置 + option.SHARPENING = 对比度自适应锐化强度 + option.BLOOM_STRENGTH = 泛光强度 + screen.TAA_OPTIONS = 抗锯齿设置 + option.SCREENSHOT_MODE = 截图模式 + option.TAA = 时间性抗锯齿 (TAA) + option.BLEND_FACTOR = 混合倍数 + option.TAA_UPSCALING = TAA 升采样 + option.SCALE_FACTOR = 渲染倍率 + + +screen.LabPBR = Lab PBR + screen.Reflections = 高光反射 + option.Specular_Reflections = 高光反射 + option.Screen_Space_Reflections = 屏幕空间反射 (SSR) + option.Rough_reflections = 粗糙反射 + option.Sky_reflection = 天空/雾气反射 + option.Dynamic_SSR_quality = 动态 SSR 质量 + option.Roughness_Threshold = 粗糙反射阀值 + option.Sun_specular_Strength = 太阳反射强度 + option.reflection_quality = SSR 质量 + + screen.Emissives = 发光效果 + option.Emissive_Brightness = 发光亮度 + option.Emissive_Curve = 发光曲线 + option.EMISSIVE_TYPE = 发光模式 + option.EMISSIVE_TYPE.comment = 硬编码意味着由光影定义什么方块应该发光. LabRBR资源包次表面散射意味着由labPBR资源包决定什么方块应该发光. + value.EMISSIVE_TYPE.0 = 不发光 + value.EMISSIVE_TYPE.1 = 仅硬编码 + value.EMISSIVE_TYPE.2 = 硬编码 + LabPBR 发光 + value.EMISSIVE_TYPE.3 = 仅 LabPBR 发光 + + +screen.POM = 视差遮蔽映射 (POM) + option.POM = 视差 (POM) + option.MAX_ITERATIONS = 视差质量 + option.POM_DEPTH = 视差深度 + option.MAX_DIST = 视差最大距离 + option.Adaptive_Step_length = 动态质量 + option.Horrible_slope_normals = 恐怖的斜坡法线 + + +screen.Porosity = 孔隙率/水坑 + option.Porosity = 孔隙率 + option.Puddles = 水坑 + option.Puddle_Size = 水坑大小 + + +option.DOF_QUALITY=景深 (DOF) + value.DOF_QUALITY.-1=关闭 + value.DOF_QUALITY.0=六边形景深虚化效果 + value.DOF_QUALITY.1=低质量 + value.DOF_QUALITY.2=中质量 + value.DOF_QUALITY.3=高质量 + value.DOF_QUALITY.4=极高质量 + option.DOF_ANAMORPHIC_RATIO=景深变形比 + + +option.AEROCHROME_MODE=Aerochrome 模式 +option.AEROCHROME_MODE.comment=影响画面. 从谷歌浏览器的功能实现方式得到了灵感. +option.AEROCHROME_PINKNESS=Aerochrome 模式 红色: 粉色 比例 +option.AEROCHROME_PINKNESS.comment=选项数值越高 = 越接近粉色. 选项数值越低 = 越接近红色. +option.AEROCHROME_WOOL_ENABLED=Aerochrome 模式作用于羊毛 +option.AEROCHROME_WOOL_ENABLED.comment=技术上,与羊毛相关的方块都会受到影响,但会破坏了大量的建筑外观. 启用后可能会导致更多的技术性错误. + + +#Additional Options / 附加选项 +#Direct Light + option.SCREENSPACE_CONTACT_SHADOWS.comment=在屏幕空间中从太阳获得投射阴影,以便于在阴影范围外或者在物体接触处投射阴影. 可能在高分辨率情况下有巨大的性能损耗. + + option.Variable_Penumbra_Shadows=可变半阴影 (VPS) + option.Variable_Penumbra_Shadows.comment=距离被投射物体时越远的阴影越模糊 (会降低帧数) . + option.VPS_Search_Samples=可变半阴影 (VPS) 的检索采样数 + option.VPS_Search_Samples.comment=对被投射物体时的检索采样次数. + option.Min_Shadow_Filter_Radius=最小阴影过滤半径 + option.Min_Shadow_Filter_Radius.comment=如果没有启用VPS,此选项数值将用作阴影过滤器的大小. + option.Max_Shadow_Filter_Radius=最大阴影过滤半径 + option.Max_Shadow_Filter_Radius.comment=如果没有启用VPS,此选项将不会有作用. 当此选项数值设置过大时会出现问题. + option.Max_Filter_Depth=最大过滤深度 + option.Max_Filter_Depth.comment=此选项数值意味着 在被投射物体时与阴影投射位置的距离大小达到此数值时 阴影过滤器的尺寸达到最大. + option.SHADOW_FILTER_SAMPLE_COUNT=阴影过滤采样数 + option.SHADOW_FILTER_SAMPLE_COUNT.comment=用来过滤实际阴影的采样数. + + option.shadowMapResolution.comment=很大可能会在选择 16384 选项的时候崩溃游戏. + option.shadowDistance.comment=当 阴影距离渲染倍数 设置为-1.0的时候已经完全不是线性渲染,此时将本选项设置为175可满足40区块的渲染距离. + + option.LabSSS_Curve.comment=我只是非常好奇设置为 2.0 的时候会看起来怎样,所以才做了这个选项. + option.Ambient_SSS.comment=来自天空光的次表面散射. 如果启用了屏幕空间环境光遮蔽,本选项只会消耗很小的性能. + + option.sunColorR=太阳 - 红色比重 + option.sunColorG=太阳 - 绿色比重 + option.sunColorB=太阳 - 蓝色比重 + option.moonColorR=月亮 - 红色比重 + option.moonColorG=月亮 - 绿色比重 + option.moonColorB=月亮 - 蓝色比重 + option.colortype=颜色模式 + option.colortype.comment=1 = RGB 模式滑块. 2 = 黑体模式. + value.colortype.1= RGB 模式滑块 + value.colortype.2= 黑体模式 + option.Sun_temp=阳光色温 + suffix.Sun_temp=K + option.Moon_temp=月光色温 + suffix.Moon_temp=K + + suffix.sunPathRotation=° + suffix.sun_illuminance=LX + suffix.moon_illuminance=LX + + +#World + option.Vanilla_like_water=原版水体样式 + option.Vanilla_like_water.comment=原版水纹理贴图混合光影水体. + option.SCREENSPACE_REFLECTIONS.comment=在高分辨率资源包或者高质量渲染下会非常影响性能,特别是在冰面上的反射. + option.Dirt_Amount.comment=水中有多少污物. + + option.Dirt_Scatter_R.comment=污物扩散红色能力. + option.Dirt_Scatter_G.comment=污物扩散绿色能力. + option.Dirt_Scatter_B.comment=污物扩散蓝色能力. + option.Dirt_Absorb_R.comment=污物吸收红色能力. + option.Dirt_Absorb_G.comment=污物吸收绿色能力. + option.Dirt_Absorb_B.comment=污物吸收蓝色能力. + option.Water_Absorb_R.comment=水体吸收红色能力. + option.Water_Absorb_G.comment=水体吸收绿色能力. + option.Water_Absorb_B.comment=水体吸收蓝色能力. + + option.Water_Top_Layer.comment=当在水下并且当 光照图深度估算 关闭时. 假设水面顶层在这个数值对应的高度 (Y 值) 来进行水下照明的计算. 如果设置不正确,水下会看起来很奇怪. + + screen.Waving_Stuff=摇晃相关 + option.WAVY_STRENGTH=摇晃强度 + option.WAVY_SPEED=摇晃速度 + option.WAVY_PLANTS=植物摇晃 + + option.Specular_Reflections.comment=方块上的反射. 需要一个 PBR 资源包. + option.Sun_specular_Strength.comment=调节以获得更大的发光面积. + option.Screen_Space_Reflections.comment=屏幕空间反射开关. 如果你想要正常的性能,但又想要方块有光泽和质感,可以关闭这个选项,因为太阳反射依旧保留. + option.reflection_quality.comment=调整屏幕空间反射的质量. + option.Rough_reflections.comment=开启粗糙度 GGX VNDF . 明显影响性能,同时会产生大量噪点. + option.Roughness_Threshold.comment=使用粗糙度曲线调节来让反射在粗糙面上更清楚或者更模糊. 有利于隐藏粗糙面材质上的噪点. + option.Sky_reflection.comment=估计有人不喜欢反射天空,以防万一所以有了这个选项. + option.Dynamic_SSR_quality.comment=粗糙反射质量会更低. 在很多场景下可以稍微提升性能表现. + + option.LabSSS_Curve.comment=我只是非常好奇设置为 2.0 的时候会看起来怎样,所以才做了这个选项. + option.Ambient_SSS.comment=来自天空光的次表面散射. 如果启用了屏幕空间环境光遮蔽,本选项只会消耗很小的性能. + + option.Emissive_Curve.comment=是的,我在这里明目张胆借鉴了 Kappa . + + option.Adaptive_Step_length.comment=仅使用部分视差深度获取采样, 以提升整体的质量. 缺点: 从大角度来观察, 会有不小的错误. + option.MAX_ITERATIONS.comment=拉高以提高投射角的质量 (降低性能) . + option.POM_DEPTH.comment=单位: 米. 资源包推荐深度数值: . Vanillaccurate: 0.15-0.25. VNR: 0.20. Patrix: 1.0. + option.MAX_DIST.comment=拉高以增加计算视差的距离. + option.Horrible_slope_normals.comment=真的只适合低分辨率资源包. 在高分辨率资源包上会有很多锯齿和闪烁. + + option.Puddles.comment=耶! + + +#Ambient_light + option.Emissive_Curve.comment=是的,我在这里明目张胆借鉴了 Kappa . + + option.ambient_colortype.comment= 0 = 色温模式. 1 = RGB 滑块模式 + + suffix.ambient_temp=K + + option.MIN_LIGHT_AMOUNT=最小照明强度 + option.indirect_effect.comment=原版 AO 是 Minecraft 原版使用的环境光遮蔽. SSAO 基础, 常见且快速, 同时包含了原版 AO. GTAO 质量更高, 更少噪点, 速度适中. RTAO 基于路径追踪的环境光遮蔽, 缓慢且多噪点. SSGI 基于路径追踪全局照明且同时考虑环境光遮蔽, 最慢并且很多噪点. + + option.AO_Strength.comment=用于调整阴影区域的强度. + option.GI_Strength.comment=用于调整反射全局照明区域的亮度. + option.ambientOcclusionLevel.comment=本选项控制原版 Minecraft 环境光遮蔽强度. + + +#Fog + option.VL_RENDER_RESOLUTION.comment=降低计算体积雾的分辨率. (0.5 = 默认分辨率的一半). + + option.Cloud_Fog.comment=渲染两次体积云和体积雾使飞跃云层成为可能. 可预见的性能下降. + + option.Biome_specific_environment.comment=使雾气在特定生物群系中时有独特的密度和颜色. (沼泽、丛林、繁茂洞穴、巨型针叶林、黑森林). + + option.BorderFog.comment=哼啊啊啊啊啊啊啊啊. + + option.cave_fog.comment=洞穴雾气... + + +#Post_Processing + option.SCREENSHOT_MODE.comment=进入渲染模式,累积帧直到满足需求的最高图像质量. + + option.BLEND_FACTOR.comment=更高的值意味更多的闪烁,但图像更清晰. 更低的值意味较少的闪烁,但图像较模糊. + + option.TAA_UPSCALING.comment=降低渲染分辨率并使用TAA来组合几个低分辨率的图像 (大大提高了性能) . 用它来代替光影渲染精细度选项.如果你想提高FPS(将其设为1). 如果你想提高质量,请禁用这个选项并增大光影渲染精细度倍数. + option.SCALE_FACTOR.comment=渲染分辨率倍率. 不推荐低于 0.5 . + + option.TONEMAP=色调映射方法 + option.TONEMAP.comment=不同的色调映射方法. + option.USE_ACES_COLORSPACE_APPROXIMATION=启用 ACES 色彩空间的近似值拟合 + option.USE_ACES_COLORSPACE_APPROXIMATION.comment=ACES=Academy Color Encoding System,是一套颜色编码系统. 决定色调映射是否使用另一个色彩空间. + option.SATURATION=饱和度 + option.SATURATION.comment=负值使颜色不饱和. 正值使颜色饱和. 0值意味着没有变化. + option.CROSSTALK=去饱和度 + option.CROSSTALK.comment=使明亮的颜色不饱和,在较暗的区域保持饱和度(如果是负值,则反转). 有助于去除大多数荧光色. + option.FinalR=最终图像 - 红色偏移程度 + option.FinalG=最终图像 - 绿色偏移程度 + option.FinalB=最终图像 - 蓝色偏移程度 + + option.AUTO_EXPOSURE=自动曝光 + option.AUTO_EXPOSURE.comment=强烈建议启用这个选项,除非需要截图. + option.EXPOSURE_MULTIPLIER=曝光强度 + option.Exposure_Speed=曝光速度 + option.Manual_exposure_value=手动曝光值 + + option.AUTOFOCUS=自动对焦 + option.AUTOFOCUS.comment=此选项为关时,亮度滑块可以调节手动对焦距离. + option.focal=焦距 + option.focal.comment=单位: 厘米. + option.aperture=光圈 + option.aperture.comment=单位: 厘米. + option.MANUAL_FOCUS=手动对焦距离 + option.MANUAL_FOCUS.comment=当 自动对焦 选项关闭时,通过调节此选项确定对焦距离(单位是米). + option.DoF_Adaptation_Speed=景深虚化适应速度 + option.FAR_BLUR_ONLY=仅虚化远处 + option.FAR_BLUR_ONLY.comment=移除那些比对焦点更靠近镜头物体的景深效果. + + screen.Purkinje_effect.comment=是人类眼睛对高度照明灵敏,而在低照明水平时,往光谱高频蓝端迁移的现象 (来源于百度百科). + option.Purkinje_strength=柏金赫现象强度 + option.Purkinje_strength.comment=模拟眼睛在低光强度下无法看到颜色的情况. 0 值意味着在低曝光情况下没有柏金赫现象. + option.Purkinje_R=柏金赫 - 红色 + option.Purkinje_G=柏金赫 - 绿色 + option.Purkinje_B=柏金赫 - 蓝色 + option.Purkinje_Multiplier=柏金赫现象倍率 + option.Purkinje_Multiplier.comment=决定柏金赫现象影响亮度的程度. + + screen.Editing=后期编辑 + option.Compositing_Sky=天空组成 + option.Compositing_Sky.comment=调节天空颜色,以便在一些图像编辑软件中更容易合成天空. 实测会使部分云层以及太阳消失,且对性能负担较大. + option.CompSky_R=天空组成 - 红色 + option.CompSky_G=天空组成 - 绿色 + option.CompSky_B=天空组成 - 蓝色 + + +#Clouds + option.VOLUMETRIC_CLOUDS.comment=如果不喜欢默认设置时云的噪点,可以调高云的计算采样值. 如果这对性能影响过大,可以降低云质量. + option.CLOUDS_SHADOWS.comment=主世界云层投射的阴影. + option.Daily_Weather.comment=不同的日子有不同的天空和不同的雾气效果. + option.Cloud_Speed.comment=云层移动的速度. + option.Rain_coverage.comment=雨天时云层的覆盖率. + + option.Cumulus.comment=一层远处的蓬松云彩. + option.Cumulus_height.comment=云层底部Y轴高度. + option.Altostratus.comment=一层在遥远天边的层云. + +#Misc Settings + screen.the_orb=末地球形天体 + option.THE_ORB=球形天体 + option.THE_ORB.comment=§c实测请保持关闭该选项, 以下配置选项暂不能调节该天体效果. + option.ORB_X=天体位置 - X轴坐标 + option.ORB_Y=天体位置 - Y轴坐标 + option.ORB_Z=天体位置 - Z轴坐标 + option.ORB_ColMult=天体颜色倍率 + option.ORB_R=天体颜色 - 红色 + option.ORB_G=天体颜色 - 绿色 + option.ORB_B=天体颜色 - 蓝色 + + screen.lightning_color=闪电颜色 + option.Lightning_R=闪电 - 红色 + option.Lightning_G=闪电 - 绿色 + option.Lightning_B=闪电 - 蓝色 + + option.WhiteWorld=全白世界 + option.WhiteWorld.comment=这是用于 Debug 的视图. 易于观察 环境光遮蔽 的效果. 易于观察 模拟全局光照 (绿光) 的效果. + option.ambientLight_only=仅启用环境光 + option.ambientLight_only.comment=这是用于 Debug 的视图. 关闭太阳光. 此选项不会影响性能,阴影依旧会在后台工作. + option.Glass_Tint=玻璃色调 + option.Glass_Tint.comment=背景通过混合玻璃本身的颜色获得强烈的色调. + option.display_LUT=显示 LUT + option.display_LUT.comment=哼啊啊啊啊啊啊啊啊. + option.ambientSSS_view=天空光次表面散射视图 + + +#Climate + screen.Seasons=季节 + option.Season_Length.comment=决定季节的长度,以 MC 日为单位. 91 日大致为现实中一个季节的长度. 设置为 1 会使得一年只持续四天. + suffix.Season_Length=MC日 + option.Snowy_Winter.comment=冬天就应该下雪,不是吗? + + option.Summer_R.comment=在这个季节中植被的颜色. + option.Summer_G.comment=在这个季节中植被的颜色. + option.Summer_B.comment=在这个季节中植被的颜色. + option.Summer_Leaf_R.comment=在这个季节中树叶的颜色. + option.Summer_Leaf_G.comment=在这个季节中树叶的颜色. + option.Summer_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Fall_R.comment=在这个季节中植被的颜色. + option.Fall_G.comment=在这个季节中植被的颜色. + option.Fall_B.comment=在这个季节中植被的颜色. + option.Fall_Leaf_R.comment=在这个季节中树叶的颜色. + option.Fall_Leaf_G.comment=在这个季节中树叶的颜色. + option.Fall_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Winter_R.comment=在这个季节中植被的颜色. + option.Winter_G.comment=在这个季节中植被的颜色. + option.Winter_B.comment=在这个季节中植被的颜色. + option.Winter_Leaf_R.comment=在这个季节中树叶的颜色. + option.Winter_Leaf_G.comment=在这个季节中树叶的颜色. + option.Winter_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Spring_R.comment=在这个季节中植被的颜色. + option.Spring_G.comment=在这个季节中植被的颜色. + option.Spring_B.comment=在这个季节中植被的颜色. + option.Spring_Leaf_R.comment=在这个季节中树叶的颜色. + option.Spring_Leaf_G.comment=在这个季节中树叶的颜色. + option.Spring_Leaf_B.comment=在这个季节中树叶的颜色. + + option.Biome_specific_environment.comment=使雾气在特定生物群系中时有独特的密度和颜色. (沼泽、丛林、繁茂洞穴、巨型针叶林、黑森林). + option.Daily_Weather.comment=不同的日子有不同的天空和不同的雾气效果. + +option.PhysicsMod_support=Physics (物理) 模组支持 +>>>>>>> 985bf24e1b84fb433836c9e1d3d81627784d6d70 option.PhysicsMod_support.comment=在 AMD 显卡上这个选项会破坏整个光影的功能. 如果没发现奇怪的东西那就没问题. \ No newline at end of file diff --git a/shaders/lib/diffuse_lighting.glsl b/shaders/lib/diffuse_lighting.glsl index 1c9d648..fc65345 100644 --- a/shaders/lib/diffuse_lighting.glsl +++ b/shaders/lib/diffuse_lighting.glsl @@ -1,12 +1,7 @@ // in this here file im doing all the lighting for sunlight, ambient light, torches, for solids and translucents. - -#ifndef OVERWORLD -uniform float lightningFlash; - -#endif - uniform float nightVision; + //// OVERWORLD //// #ifdef OVERWORLD vec3 DoAmbientLighting (vec3 SkyColor, vec3 TorchColor, vec2 Lightmap, float skyLightDir){ @@ -18,9 +13,7 @@ vec3 DoAmbientLighting (vec3 SkyColor, vec3 TorchColor, vec2 Lightmap, float sky vec3 TorchLight = TorchColor * TorchLM * 0.75; TorchLight *= TORCH_AMOUNT; - SkyColor = (SkyColor * 2.0 * ambient_brightness) * 8./150./3.; - - SkyColor += vec3(Lightning_R,Lightning_G,Lightning_B) * 25.0 * skyLightDir * lightningFlash ; + SkyColor = (SkyColor * ambient_brightness) / 30.0; float skyLM = (pow(Lightmap.y,15.0)*2.0 + pow(Lightmap.y,2.5))*0.5; vec3 SkyLight = max(SkyColor * skyLM, vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01 + nightVision) ); diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 4f4020e..194f679 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -72,7 +72,7 @@ // ----- INDIRECT LIGHT RELATED SETTINGS ----- // ///////////////////////////////////////////////// -#define MIN_LIGHT_AMOUNT 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 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 4.0 5.0] +#define MIN_LIGHT_AMOUNT 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 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0] #define ambient_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 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 ] #define ambient_colortype 0 // [0 1] @@ -330,6 +330,7 @@ uniform int moonPhase; #define aperture 0.8 // [0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2.0 2.05 2.1 2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5 2.55 2.6 2.65 2.7 2.75 2.8 2.85 2.9 2.95 3.0 3.05 3.1 3.15 3.2 3.25 3.3 3.35 3.4 3.45 3.5 3.55 3.6 3.65 3.7 3.75 3.8 3.85 3.9 3.95 4.0 4.05 4.1 4.15 4.2 4.25 4.3 4.35 4.4 4.45 4.5 4.55 4.6 4.65 4.7 4.75 4.8 4.85 4.9 4.95 5.0 5.05 5.1 5.15 5.2 5.25 5.3 5.35 5.4 5.45 5.5 5.55 5.6 5.65 5.7 5.75 5.8 5.85 5.9 5.95 6.0 6.05 6.1 6.15 6.2 6.25 6.3 6.35 6.4 6.45 6.5 6.55 6.6 6.65 6.7 6.75 6.8 6.85 6.9 6.95 7.0 7.05 7.1 7.15 7.2 7.25 7.3 7.35 7.4 7.45 7.5 7.55 7.6 7.65 7.7 7.75 7.8 7.85 7.9 7.95 8.0 8.05 8.1 8.15 8.2 8.25 8.3 8.35 8.4 8.45 8.5 8.55 8.6 8.65 8.7 8.75 8.8 8.85 8.9 8.95 9.0 9.05 9.1 9.15 9.2 9.25 9.3 9.35 9.4 9.45 9.5 9.55 9.6 9.65 9.7 9.75 9.8 9.85 9.9 9.95 ] #define MANUAL_FOCUS -2 // [-2 -1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 24 25 26 28 29 30 32 33 35 36 38 40 41 43 45 47 48 50 52 54 56 58 60 63 65 67 70 72 75 77 80 83 85 88 91 94 98 101 104 108 111 115 119 123 127 132 136 141 146 151 156 161 167 173 179 186 193 200 207 215 224 232 242 251 262 273 284 297 310 324 339 355 372 391 411 433 457 483 512] #define DoF_Adaptation_Speed 1.00 // [0.20 0.21 0.23 0.24 0.25 0.27 0.29 0.30 0.32 0.34 0.36 0.39 0.41 0.43 0.46 0.49 0.52 0.55 0.59 0.62 0.66 0.70 0.74 0.79 0.84 0.89 0.94 1.00 1.06 1.13 1.20 1.27 1.35 1.43 1.52 1.61 1.71 1.82 1.93 2.05 2.18 2.31 2.45 2.60 2.76 2.93 3.11 3.30 3.51 3.72 3.95 4.19 4.45 4.73 5.02 5.33 5.65 6.00] + // #define DOF_JITTER_SHADOW // // #define DOF_JITTER_FOCUS 32 // [-1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 24 25 26 28 29 30 32 33 35 36 38 40 41 43 45 47 48 50 52 54 56 58 60 63 65 67 70 72 75 77 80 83 85 88 91 94 98 101 104 108 111 115 119 123 127 132 136 141 146 151 156 161 167 173 179 186 193 200 207 215 224 232 242 251 262 273 284 297 310 324 339 355 372 391 411 433 457 483 512] #define JITTER_STRENGTH 1.0 // sorry [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 2.0 4.0 5.0 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] @@ -348,10 +349,20 @@ uniform int moonPhase; #define SATURATION 0.00 // [-1.0 -0.98 -0.96 -0.94 -0.92 -0.9 -0.88 -0.86 -0.84 -0.82 -0.8 -0.78 -0.76 -0.74 -0.72 -0.7 -0.68 -0.66 -0.64 -0.62 -0.6 -0.58 -0.56 -0.54 -0.52 -0.5 -0.48 -0.46 -0.44 -0.42 -0.4 -0.38 -0.36 -0.34 -0.32 -0.3 -0.28 -0.26 -0.24 -0.22 -0.2 -0.18 -0.16 -0.14 -0.12 -0.1 -0.08 -0.06 -0.04 -0.02 0.0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0.76 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1.0 ] #define CROSSTALK 0.0 // [-1.0 -0.98 -0.96 -0.94 -0.92 -0.9 -0.88 -0.86 -0.84 -0.82 -0.8 -0.78 -0.76 -0.74 -0.72 -0.7 -0.68 -0.66 -0.64 -0.62 -0.6 -0.58 -0.56 -0.54 -0.52 -0.5 -0.48 -0.46 -0.44 -0.42 -0.4 -0.38 -0.36 -0.34 -0.32 -0.3 -0.28 -0.26 -0.24 -0.22 -0.2 -0.18 -0.16 -0.14 -0.12 -0.1 -0.08 -0.06 -0.04 -0.02 0.0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0.76 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1.0 ] -// #define LUMINANCE_CURVE +// #define COLOR_CURVE #define UPPER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] #define LOWER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] +#define R_UPPER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] +#define R_LOWER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] + +#define G_UPPER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] +#define G_LOWER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] + +#define B_UPPER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] +#define B_LOWER_CURVE 0.0 // [-1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] + + #define CONTRAST 1.0 // [0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 1.0 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.2 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.4 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.5 1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59 1.6 1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 1.69 1.7 1.71 1.72 1.73 1.74 1.75 1.76 1.77 1.78 1.79 1.8 1.81 1.82 1.83 1.84 1.85 1.86 1.87 1.88 1.89 1.9 1.91 1.92 1.93 1.94 1.95 1.96 1.97 1.98 1.99 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 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 ] #define EXPOSURE_MULTIPLIER 1.0 // [0.25 0.4 0.5 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1.0 1.1 1.2 1.3 1.4 1.5 2.0 3.0 4.0] diff --git a/shaders/lib/specular.glsl b/shaders/lib/specular.glsl index 223097f..769be3c 100644 --- a/shaders/lib/specular.glsl +++ b/shaders/lib/specular.glsl @@ -184,15 +184,20 @@ vec3 SampleVNDFGGX( // Sample a reflection direction off the hemisphere const float tau = 6.2831853; // 2 * pi float phi = tau * xy.x; + float cosTheta = xonk_fma(1.0 - xy.y, 1.0 + viewerDirection.z, -viewerDirection.z) ; float sinTheta = sqrt(clamp(1.0 - cosTheta * cosTheta, 0.0, 1.0)); - vec3 reflected = vec3(vec2(cos(phi), sin(phi)) * sinTheta, cosTheta); + + // xonk note, i dont know what im doing but this kinda does what i want so whatever + float attemptTailClamp = clamp(sinTheta,max(cosTheta-0.25,0), cosTheta); + float attemptTailClamp2 = clamp(cosTheta,max(sinTheta-0.25,0), sinTheta); + + vec3 reflected = vec3(vec2(cos(phi), sin(phi)) * attemptTailClamp2, attemptTailClamp); + // vec3 reflected = vec3(vec2(cos(phi), sin(phi)) * sinTheta, cosTheta); // Evaluate halfway direction // This gives the normal on the hemisphere - // xonk note, i added those magic numbers huhuhuh - vec3 halfway = reflected*0.5 + viewerDirection*1.5; - // vec3 halfway = reflected + viewerDirection; + vec3 halfway = reflected + viewerDirection; // Transform the halfway direction back to hemiellispoid configuation // This gives the final sampled normal @@ -248,10 +253,11 @@ void MaterialReflections( // f0 = vec3(0.9); - // roughness = 0.0; + // roughness = 0.5; mat3 basis = CoordBase(normal); vec3 normSpaceView = -np3*basis ; + // roughness stuff #ifdef Rough_reflections @@ -279,7 +285,8 @@ void MaterialReflections( SunReflection = directlighting * GGX(normal, -np3, sunPos, roughness, vec3(f0.y)); #ifdef Sky_reflection - if( Roughness_Threshold == 1.0 || (f0.y * (1.0 - roughness * Roughness_Threshold)) > 0.005) SkyReflection = pow(clamp(1.0-VisibilityFactor,0,1),0.3)*( skyCloudsFromTex(L, colortex4).rgb / 150. ) * 5.; + //pow(clamp(1.0-VisibilityFactor,0,1),0.3)* + if( Roughness_Threshold == 1.0 || (f0.y * (1.0 - roughness * Roughness_Threshold)) > 0.005) SkyReflection = skyCloudsFromTex(L, colortex4).rgb / 30.; #endif if (hasReflections) { // Skip sky reflection and SSR if its just not very visible anyway @@ -291,14 +298,12 @@ void MaterialReflections( rayQuality = reflection_quality; #endif - noise.b = mix_float(noise.b, 0.5 + (noise.b-0.5),rayContribLuma); if(hand) {rayQuality = max(rayQuality,30.0); noise.b = 0.5 + (noise.b-0.5);} vec3 rtPos = rayTraceSpeculars(mat3(gbufferModelView) * L, fragpos.xyz, (noise.b), rayQuality, hand, reflectLength); float LOD = clamp(reflectLength * 6.0, 0.0,6.0); - if(hand || isEntities) LOD = VisibilityFactor*6; // LOD = 0.0; if (rtPos.z < 1.0) { // Reproject on previous frame @@ -463,7 +468,7 @@ void MaterialReflections_E( roughness = unpackRoughness(roughness); f0 = f0.y == 0.0 ? vec3(0.02) : f0; - // roughness = 0.0; + // roughness = 0.1; // f0 = vec3(0.9); float visibilityFactor = clamp(exp2((pow(roughness,3.0) / f0.y) * -4),0,1); diff --git a/shaders/lib/volumetricClouds.glsl b/shaders/lib/volumetricClouds.glsl index bc3690d..107a7da 100644 --- a/shaders/lib/volumetricClouds.glsl +++ b/shaders/lib/volumetricClouds.glsl @@ -199,7 +199,7 @@ float PhaseHG(float cosTheta, float g) { return Inv4Pi * (1 - g * g) / (denom * sqrt(denom)); } -uniform float lightningFlash; +uniform vec3 lightningEffect; vec4 renderClouds( vec3 FragPosition, @@ -264,7 +264,7 @@ vec4 renderClouds( float timing = 1.0 - clamp(pow(abs(dV_Sun.y)/150.0,2.0),0.0,1.0); - vec3 lightningColor = vec3(Lightning_R,Lightning_G,Lightning_B) * 1000.0 * lightningFlash; + vec3 lightningColor = lightningEffect * 4.0; #ifdef Cumulus for(int i=0;i CONTRAST LUMINANCE_CURVE UPPER_CURVE LOWER_CURVE + screen.Editing.columns = 2 + screen.Editing = Compositing_Sky CONTRAST CompSky_R COLOR_CURVE CompSky_G UPPER_CURVE CompSky_B LOWER_CURVE R_LOWER_CURVE R_UPPER_CURVE G_LOWER_CURVE G_UPPER_CURVE B_LOWER_CURVE B_UPPER_CURVE ######## MISC SETTINGS screen.Misc_Settings.columns=1 - screen.Misc_Settings = [the_orb] [lightning_color] WhiteWorld ambientLight_only Glass_Tint display_LUT ambientSSS_view + screen.Misc_Settings = [the_orb] WhiteWorld ambientLight_only Glass_Tint display_LUT ambientSSS_view screen.the_orb.columns = 1 - screen.the_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_B - - screen.lightning_color = Lightning_R Lightning_G Lightning_B + screen.the_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_BB screen.LabPBR.columns = 1 screen.LabPBR = [Reflections] [Subsurface_Scattering] [Emissives] [POM] [Porosity] @@ -315,7 +313,8 @@ uniform.float.noPuddleAreas = smooth(10, if(in(biome,5,16,17,18,26, 27, 28, 3, 4 # thank you sixthsurge! -uniform.float.lightningFlash = smooth(16,if(equals(skyColor.r, skyColor.g, 0.01) && skyColor.r > 0.3, 1.0, 0.0), 0, 1) +uniform.float.lightningFlash = smooth(16,if(equals(skyColor.r, skyColor.g, 0.01) && skyColor.r > 0.3, 1.0, 0.0), 0.0, 0.2) +uniform.vec3.lightningEffect = vec3(77.0*lightningFlash, 153.0*lightningFlash, 255.0*lightningFlash) texture.noise=texture/noises.png texture.composite.colortex6=texture/blueNoise.png diff --git a/shaders/shadow.fsh b/shaders/shadow.fsh index 270cc01..6ab0a6b 100644 --- a/shaders/shadow.fsh +++ b/shaders/shadow.fsh @@ -14,21 +14,21 @@ uniform int frameCounter; //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// -float R2_dither(){ - vec2 alpha = vec2(0.75487765, 0.56984026); - return fract(alpha.x * gl_FragCoord.x + alpha.y * gl_FragCoord.y + 1.0/1.6180339887 ) ; + +float blueNoise(){ + return fract(texelFetch2D(noisetex, ivec2(gl_FragCoord.xy)%512, 0).a + 1.0/1.6180339887 ); } void main() { gl_FragData[0] = texture2D(tex,texcoord.xy); #ifdef SHADOW_DISABLE_ALPHA_MIPMAPS - gl_FragData[0].a = texture2DLod(tex,texcoord.xy,0).a; + gl_FragData[0].a = texture2DLod(tex,texcoord.xy,0).a; #endif #ifdef RENDER_ENTITY_SHADOWS #endif #ifdef Stochastic_Transparent_Shadows - gl_FragData[0].a = float(gl_FragData[0].a >= R2_dither()); + gl_FragData[0].a = float(gl_FragData[0].a >= blueNoise()); #endif } diff --git a/shaders/shadow.vsh b/shaders/shadow.vsh index ba4ac61..93c82bd 100644 --- a/shaders/shadow.vsh +++ b/shaders/shadow.vsh @@ -161,12 +161,16 @@ void main() { if(mc_Entity.x == 8 || mc_Entity.x == 9) gl_Position.w = -1.0; - /// this is to ease the shadow acne on big fat entities like ghasts. - - float bias = 6.0; - vec3 FlatNormals = normalize(gl_NormalMatrix *gl_Normal); - vec3 WsunVec = (float(sunElevation > 1e-5)*2-1.)*normalize(mat3(shadowModelViewInverse) * sunPosition); - if(entityId == 1100) bias = 6.0 + (1-clamp(dot(WsunVec,FlatNormals),0,1))*0.3; + /// this is to ease the shadow acne on big fat entities like ghasts. + float bias = 6.0; - gl_Position.z /= bias; + if(entityId == 1100){ + // increase bias on parts facing the sun + vec3 FlatNormals = normalize(gl_NormalMatrix * gl_Normal); + vec3 WsunVec = (float(sunElevation > 1e-5)*2-1.)*normalize(mat3(shadowModelViewInverse) * sunPosition); + + bias = 6.0 + (1-clamp(dot(WsunVec,FlatNormals),0,1))*0.3; + } + + gl_Position.z /= bias; } diff --git a/shaders/world-1/composite2.fsh b/shaders/world-1/composite2.fsh index 7e55fda..b606d44 100644 --- a/shaders/world-1/composite2.fsh +++ b/shaders/world-1/composite2.fsh @@ -311,7 +311,7 @@ void Emission( float Emission ){ // if( Emission < 255.0/255.0 ) Lighting = mix(Lighting, Albedo * Emissive_Brightness, pow(Emission, Emissive_Curve)); // old method.... idk why - if( Emission < 255.0/255.0 ) Lighting += (Albedo * Emissive_Brightness) * pow(Emission, Emissive_Curve); + if( Emission < 255.0/255.0 ) Lighting += (Albedo * Emissive_Brightness * 0.25) * pow(Emission, Emissive_Curve); } diff --git a/shaders/world1/composite.fsh b/shaders/world1/composite.fsh index 89820c4..659157a 100644 --- a/shaders/world1/composite.fsh +++ b/shaders/world1/composite.fsh @@ -309,7 +309,7 @@ void Emission( float Emission ){ // if( Emission < 255.0/255.0 ) Lighting = mix(Lighting, Albedo * Emissive_Brightness, pow(Emission, Emissive_Curve)); // old method.... idk why - if( Emission < 255.0/255.0 ) Lighting += (Albedo * Emissive_Brightness) * pow(Emission, Emissive_Curve); + if( Emission < 255.0/255.0 ) Lighting += (Albedo * Emissive_Brightness * 0.25) * pow(Emission, Emissive_Curve); } float rayTraceShadow(vec3 dir,vec3 position,float dither){