From 514a8a266971793ef9fa9e89f5735e41a104afa0 Mon Sep 17 00:00:00 2001 From: Merlin1809 Date: Fri, 5 Sep 2025 00:59:59 +0200 Subject: [PATCH] Double wave simulation distance --- shaders/dimensions/DH_translucent.fsh | 20 ++++++++++++-------- shaders/dimensions/all_translucent.fsh | 20 ++++++++++---------- shaders/dimensions/prepare1.csh | 18 +++++++++--------- shaders/dimensions/prepare2.csh | 10 +++++----- shaders/lang/en_us.lang | 7 +++++-- shaders/shaders.properties | 11 +++++++++-- 6 files changed, 50 insertions(+), 36 deletions(-) diff --git a/shaders/dimensions/DH_translucent.fsh b/shaders/dimensions/DH_translucent.fsh index 3a9abf7..499b3e4 100644 --- a/shaders/dimensions/DH_translucent.fsh +++ b/shaders/dimensions/DH_translucent.fsh @@ -320,17 +320,19 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec3 waterNormals = worldSpaceNormals; - if(iswater && abs(worldSpaceNormals.y) > 0.1){ - vec3 waterPos = (playerPos+cameraPosition).xzy; + #ifndef Vanilla_like_water + if(iswater && abs(worldSpaceNormals.y) > 0.1){ + vec3 waterPos = (playerPos+cameraPosition).xzy; - vec3 bump = normalize(getWaveNormal(waterPos, playerPos)); + vec3 bump = normalize(getWaveNormal(waterPos, playerPos)); - float bumpmult = WATER_WAVE_STRENGTH; + float bumpmult = WATER_WAVE_STRENGTH; - bump = bump * vec3(bumpmult, bumpmult, bumpmult) + vec3(0.0f, 0.0f, 1.0f - bumpmult); + bump = bump * vec3(bumpmult, bumpmult, bumpmult) + vec3(0.0f, 0.0f, 1.0f - bumpmult); - waterNormals.xz = bump.xy; - } + waterNormals.xz = bump.xy; + } + #endif normals = worldToView(waterNormals); @@ -346,7 +348,9 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec3 Albedo = toLinear(gl_FragData[0].rgb); #ifndef WhiteWorld - #ifndef Vanilla_like_water + #ifdef Vanilla_like_water + if (iswater) Albedo *= sqrt(luma(Albedo)); + #else if (iswater){ Albedo = vec3(0.0); gl_FragData[0].a = 1.0/255.0; diff --git a/shaders/dimensions/all_translucent.fsh b/shaders/dimensions/all_translucent.fsh index 7b1f0c5..10bfab6 100644 --- a/shaders/dimensions/all_translucent.fsh +++ b/shaders/dimensions/all_translucent.fsh @@ -608,7 +608,7 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec3 rippleBump = vec3(0.0); vec2 lightmap = lmtexcoord.zw; - #if !defined HAND + #if !defined HAND && !defined Vanilla_like_water if (isWater){ vec3 playerPos = shadowPlayerPos; vec3 waterPos = playerPos; @@ -665,11 +665,11 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) #ifdef PIXELATED_WAVES #if WATER_SIM_SCALE == 0 - float NORMAL_SCALE = 40.0; + float NORMAL_SCALE = 20.0; #elif WATER_SIM_SCALE == 1 - float NORMAL_SCALE = 80.0; + float NORMAL_SCALE = 40.0; #else - float NORMAL_SCALE = 160.0; + float NORMAL_SCALE = 80.0; #endif ivec2 normalSize = imageSize(waveSim2); @@ -680,16 +680,16 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 ) vec4 waves = imageLoad(waveSim2, ivec2(centeredUV)); #else #if WATER_SIM_DISTANCE == 1 - float NORMAL_SCALE = 0.08; - #elif WATER_SIM_DISTANCE == 2 float NORMAL_SCALE = 0.04; - #elif WATER_SIM_DISTANCE == 3 - float NORMAL_SCALE = 0.03; - #else + #elif WATER_SIM_DISTANCE == 2 float NORMAL_SCALE = 0.02; + #elif WATER_SIM_DISTANCE == 3 + float NORMAL_SCALE = 0.015; + #else + float NORMAL_SCALE = 0.01; #endif - vec2 waveUV = (worldPos.xz - previousCameraPositionWave2.xz)*NORMAL_SCALE+0.5; + vec2 waveUV = (worldPos.xz - previousCameraPositionWave2.xz) * NORMAL_SCALE + 0.5; if(length(waveUV) < 1.5 && abs(worldSpaceNormal.y) > 0.5 && !noSimOngoing) { vec4 waves = texture2D(waveSim2Sampler, waveUV); #endif diff --git a/shaders/dimensions/prepare1.csh b/shaders/dimensions/prepare1.csh index 9f829ba..18d1751 100644 --- a/shaders/dimensions/prepare1.csh +++ b/shaders/dimensions/prepare1.csh @@ -54,11 +54,11 @@ uniform vec3 relativeEyePosition; vec2 getPlayerMovementOffset() { vec2 currentPos = cameraPosition.xz-relativeEyePosition.xz; vec2 previousPos = previousCameraPositionWave2.xz; - vec2 movement = (currentPos - previousPos)*60.0; + vec2 movement = currentPos - previousPos; #if WATER_SIM_SCALE == 0 - return -1.36*movement*0.5; + return -20.0 * movement; #else - return -1.36*movement*WATER_SIM_SCALE; + return -40.0 * movement * WATER_SIM_SCALE; #endif } @@ -80,7 +80,7 @@ void main() { float dist = length(imgCoord-0.5*resolution); if (dist >= resolution.x) return; - ivec2 movementOffset = ivec2(getPlayerMovementOffset()); + ivec2 movementOffset = ivec2(round(getPlayerMovementOffset())); ivec2 sampledCoord = imgCoord - movementOffset; sampledCoord = clamp(sampledCoord, ivec2(1), resolution - ivec2(1)); @@ -117,7 +117,7 @@ void main() { pressure += delta * pVel; // "Spring" motion. This makes the waves look more like water waves and less like sound waves. - pVel -= 0.00185 * delta * pressure; + pVel -= 0.0014 * delta * pressure; // Velocity damping so things eventually calm down pVel *= 1.0 - 0.003 * delta; @@ -132,13 +132,13 @@ void main() { velocity.y *= 1.15; float speed = length(velocity); - float size = 20.0; + float size = 10.0; if(inBoat) { - size += 52.0 * smoothstep(0.0, 10.0, speed); + size += 26.0 * smoothstep(0.0, 10.0, speed); } else if (inShip) { - size += 122.0 * smoothstep(0.0, 10.0, speed); + size += 61.0 * smoothstep(0.0, 10.0, speed); } else { - size += 20.0 * smoothstep(0.1, 13.0, speed); + size += 10.0 * smoothstep(0.1, 13.0, speed); } #if WATER_SIM_SCALE == 0 size *= 0.5; diff --git a/shaders/dimensions/prepare2.csh b/shaders/dimensions/prepare2.csh index 9bd94f8..c4dc9f7 100644 --- a/shaders/dimensions/prepare2.csh +++ b/shaders/dimensions/prepare2.csh @@ -104,7 +104,7 @@ void main() { pressure += delta * pVel; // "Spring" motion. This makes the waves look more like water waves and less like sound waves. - pVel -= 0.00185 * delta * pressure; + pVel -= 0.0014 * delta * pressure; // Velocity damping so things eventually calm down pVel *= 1.0 - 0.003 * delta; @@ -119,13 +119,13 @@ void main() { velocity.y *= 1.15; float speed = length(velocity); - float size = 20.0; + float size = 10.0; if(inBoat) { - size += 52.0 * smoothstep(0.0, 10.0, speed); + size += 26.0 * smoothstep(0.0, 10.0, speed); } else if (inShip) { - size += 122.0 * smoothstep(0.0, 10.0, speed); + size += 61.0 * smoothstep(0.0, 10.0, speed); } else { - size += 20.0 * smoothstep(0.1, 13.0, speed); + size += 10.0 * smoothstep(0.1, 13.0, speed); } #if WATER_SIM_SCALE == 0 size *= 0.5; diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index 4ecce1c..0272e4b 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §dECLIPSE§r - A Bliss Edit prefix.SHADER_VERSION_LABEL = V - value.SHADER_VERSION_LABEL.482 = 2.0.0 + value.SHADER_VERSION_LABEL.482 = 2.1.0 # if you're here to translate, this is not a joke, these do what they say profile.POTATO=§4Potato @@ -86,7 +86,10 @@ screen.EndLighting = End Lighting option.STARS_AMOUNT = Stars Amount option.STARS_BRIGHTNESS = Stars Brightness -screen.Misc_Settings = §cDebugging§r/Experimental Settings +screen.Misc_Settings = Other Settings +screen.EXPERIMENTAL_STUFF = Experimental Stuff +screen.DEBUG_STUFF = §cDebug Settings§r +screen.LEGACY_STUFF = Legacy Settings screen.Mod_support = Settings For Supported Mods option.RESOURCEPACK_SKY = Resource Pack Sky §c(slightly bugged) diff --git a/shaders/shaders.properties b/shaders/shaders.properties index e330463..94b0b89 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -469,9 +469,16 @@ SHADER_VERSION_LABEL \ ######## MISC SETTINGS screen.Misc_Settings.columns = 2 - screen.Misc_Settings = [EXPERIMENTAL_STUFF] DEBUG_VIEW [the_end_orb] display_LUT WhiteWorld SSS_view ambientLight_only LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX TRANSLUCENT_ENTITIES LIGHTING_EFFECTS_BLUR_FILTER [selection_box_outline] ISOLATE_RESOURCEPACK_SKY [scene_controller] AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED + screen.Misc_Settings = [EXPERIMENTAL_STUFF] [DEBUG_STUFF] [LEGACY_STUFF] TRANSLUCENT_ENTITIES [selection_box_outline] [scene_controller] AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED - screen.EXPERIMENTAL_STUFF = CAVE_DETECTION BLOOMY_PARTICLES ORIGINAL_CHOCAPIC_SKY BIOME_TINT_WATER HYPER_DETAILED_WAVES OLD_BLOOM PLANET_GROUND_BRIGHTNESS LIT_PARTICLE_BRIGHTNESS WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER OLD_CAVE_DETECTION FORCE_TRANSLUCENT_GLASS LARGE_WAVE_DISPLACEMENT OLD_INDIRECT_SSS Vanilla_like_water INCLUDE_UNLISTED_ENTITIES ALTERNATE_POWDER_EFFECT CLOUD_PHASE OLD_STARS + screen.EXPERIMENTAL_STUFF.columns = 2 + screen.EXPERIMENTAL_STUFF = BLOOMY_PARTICLES BIOME_TINT_WATER HYPER_DETAILED_WAVES PLANET_GROUND_BRIGHTNESS LIT_PARTICLE_BRIGHTNESS WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER FORCE_TRANSLUCENT_GLASS LARGE_WAVE_DISPLACEMENT Vanilla_like_water INCLUDE_UNLISTED_ENTITIES + + screen.DEBUG_STUFF.columns = 2 + screen.DEBUG_STUFF = [the_end_orb] DEBUG_VIEW display_LUT WhiteWorld SSS_view ambientLight_only LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX ISOLATE_RESOURCEPACK_SKY CAVE_DETECTION + + screen.LEGACY_STUFF.columns = 2 + screen.LEGACY_STUFF = ORIGINAL_CHOCAPIC_SKY OLD_BLOOM OLD_CAVE_DETECTION OLD_INDIRECT_SSS ALTERNATE_POWDER_EFFECT CLOUD_PHASE OLD_STARS screen.the_end_orb.columns = 1 screen.the_end_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_B