change default clouds to be more similar to bliss, fix some stuff, add pixelization setting

This commit is contained in:
Merlin1809
2025-11-07 23:00:56 +01:00
parent d8294b180f
commit 11bcd68801
14 changed files with 103 additions and 50 deletions
+2 -2
View File
@@ -1130,8 +1130,8 @@ block.500=minecraft:end_portal
block.501=minecraft:acacia_sign minecraft:bamboo_sign minecraft:birch_sign minecraft:cherry_sign minecraft:crimson_sign minecraft:dark_oak_sign minecraft:jungle_sign minecraft:mangrove_sign minecraft:oak_sign minecraft:pale_oak_sign minecraft:spruce_sign minecraft:warped_sign minecraft:acacia_wall_sign minecraft:bamboo_wall_sign minecraft:birch_wall_sign minecraft:cherry_wall_sign minecraft:crimson_wall_sign minecraft:dark_oak_wall_sign minecraft:jungle_wall_sign minecraft:mangrove_wall_sign minecraft:oak_wall_sign minecraft:pale_oak_wall_sign minecraft:spruce_wall_sign minecraft:warped_wall_sign
# glowing ores
block.502= emerald_ore deepslate_emerald_ore gold_ore deepslate_gold_ore iron_ore deepslate_iron_ore diamond_ore deepslate_diamond_ore redstone_ore deepslate_redstone_ore copper_ore deepslate_copper_ore lapis_ore deepslate_lapis_ore coal_ore deepslate_coal_ore nether_quartz_ore nether_gold_ore \
block.502=emerald_ore deepslate_emerald_ore gold_ore deepslate_gold_ore iron_ore deepslate_iron_ore diamond_ore deepslate_diamond_ore redstone_ore deepslate_redstone_ore copper_ore deepslate_copper_ore lapis_ore deepslate_lapis_ore coal_ore deepslate_coal_ore nether_quartz_ore nether_gold_ore \
create:zinc_ore create:deepslate_zinc_ore
## blocks where shader grass should is taller around, basically just full building blocks
block.503= mycelium dirt_path clay mud farmland crimson_nylium warped_nylium dripstone_block calcite soul_soil soul_sand calcite obsidian bedrock beehive lodestone barrel respawn_anchor infested_deepslate infested_cobblestone infested_stone ancient_debris raw_iron_block raw_gold_block raw_copper_block muddy_mangrove_roots bone_block waxed_oxidized_cut_copper waxed_oxidized_chiseled_copper waxed_oxidized_copper waxed_weathered_cut_copper waxed_weathered_chiseled_copper waxed_weathered_copper waxed_exposed_cut_copper waxed_exposed_chiseled_copper waxed_exposed_copper waxed_chiseled_copper waxed_cut_copper waxed_copper_block oxidized_cut_copper oxidized_chiseled_copper oxidized_copper weathered_cut_copper weathered_chiseled_copper weathered_copper exposed_cut_copper exposed_chiseled_copper exposed_copper chiseled_copper cut_copper copper_block iron_block emerald_block gold_block diamond_block lapis_block netherite_block coal_block basalt smooth_basalt polished_basalt purpur_block purpur_pillar prismarine dark_prismarine blackstone gilded_blackstone polished_blackstone chiseled_polished_blackstone red_sandstone chiseled_sandstone chiseled_red_sandstone smooth_sandstone smooth_red_sandstone cut_sandstone cut_red_sandstone chiseled_tuff polished_tuff reinforced_deepslate chiseled_deepslate polished_deepslate deepslate_tiles cracked_deepslate_tiles tuff andesite polished_andesite diorite polished_diorite granite polished_granite quartz_block chiseled_quartz_block quartz_pillar smooth_quartz quartz_bricks infested_stone_bricks infested_cracked_stone_bricks infested_mossy_stone_bricks infested_chiseled_stone_bricks polished_blackstone_bricks cracked_polished_blackstone_bricks end_stone end_stone_bricks deepslate_bricks cracked_deepslate_bricks tuff_bricks chiseled_tuff_bricks mud_bricks prismarine_bricks nether_bricks cracked_nether_bricks chiseled_nether_bricks red_nether_bricks netherrack bricks smooth_stone stone_bricks cracked_stone_bricks mossy_stone_bricks chiseled_stone_bricks mossy_cobblestone rooted_dirt coarse_dirt podzol gravel suspicious_gravel stone cobblestone sandstone deepslate cobbled_deepslate dirt oak_planks oak_log stripped_oak_log oak_wood stripped_oak_wood acacia_planks acacia_log stripped_acacia_log acacia_wood stripped_acacia_wood birch_planks birch_log stripped_birch_log brich_wood stripped_brich_wood spruce_planks spruce_log stripped_spruce_log spruce_wood stripped_spruce_wood dark_oak_planks dark_oak_log stripped_dark_oak_log dark_oak_wood stripped_dark_oak_wood jungle_planks jungle_log stripped_jungle_log jungel_wood stripped_jungel_wood mangrove_planks mangrove_log stripped_mangrove_log mangrove_wood stripped_mangrove_wood cherry_planks cherry_log stripped_cherry_log cherry_wood stripped_cherry_wood warped_planks warped_stem stripped_warped_stem warped_hyphae stripped_warped_hyphae crimson_planks crimson_stem stripped_crimson_stem crimson_hyphae stripped_crimson_hyphae bamboo_planks bamboo_block stripped_bamboo_block bamboo_mosaic
block.503=mycelium dirt_path clay mud farmland crimson_nylium warped_nylium dripstone_block calcite soul_soil soul_sand calcite obsidian bedrock beehive lodestone barrel respawn_anchor infested_deepslate infested_cobblestone infested_stone ancient_debris raw_iron_block raw_gold_block raw_copper_block muddy_mangrove_roots bone_block waxed_oxidized_cut_copper waxed_oxidized_chiseled_copper waxed_oxidized_copper waxed_weathered_cut_copper waxed_weathered_chiseled_copper waxed_weathered_copper waxed_exposed_cut_copper waxed_exposed_chiseled_copper waxed_exposed_copper waxed_chiseled_copper waxed_cut_copper waxed_copper_block oxidized_cut_copper oxidized_chiseled_copper oxidized_copper weathered_cut_copper weathered_chiseled_copper weathered_copper exposed_cut_copper exposed_chiseled_copper exposed_copper chiseled_copper cut_copper copper_block iron_block emerald_block gold_block diamond_block lapis_block netherite_block coal_block basalt smooth_basalt polished_basalt purpur_block purpur_pillar prismarine dark_prismarine blackstone gilded_blackstone polished_blackstone chiseled_polished_blackstone red_sandstone chiseled_sandstone chiseled_red_sandstone smooth_sandstone smooth_red_sandstone cut_sandstone cut_red_sandstone chiseled_tuff polished_tuff reinforced_deepslate chiseled_deepslate polished_deepslate deepslate_tiles cracked_deepslate_tiles tuff andesite polished_andesite diorite polished_diorite granite polished_granite quartz_block chiseled_quartz_block quartz_pillar smooth_quartz quartz_bricks infested_stone_bricks infested_cracked_stone_bricks infested_mossy_stone_bricks infested_chiseled_stone_bricks polished_blackstone_bricks cracked_polished_blackstone_bricks end_stone end_stone_bricks deepslate_bricks cracked_deepslate_bricks tuff_bricks chiseled_tuff_bricks mud_bricks prismarine_bricks nether_bricks cracked_nether_bricks chiseled_nether_bricks red_nether_bricks netherrack bricks smooth_stone stone_bricks cracked_stone_bricks mossy_stone_bricks chiseled_stone_bricks mossy_cobblestone rooted_dirt coarse_dirt podzol gravel suspicious_gravel stone cobblestone sandstone deepslate cobbled_deepslate dirt oak_planks oak_log stripped_oak_log oak_wood stripped_oak_wood acacia_planks acacia_log stripped_acacia_log acacia_wood stripped_acacia_wood birch_planks birch_log stripped_birch_log brich_wood stripped_brich_wood spruce_planks spruce_log stripped_spruce_log spruce_wood stripped_spruce_wood dark_oak_planks dark_oak_log stripped_dark_oak_log dark_oak_wood stripped_dark_oak_wood jungle_planks jungle_log stripped_jungle_log jungel_wood stripped_jungel_wood mangrove_planks mangrove_log stripped_mangrove_log mangrove_wood stripped_mangrove_wood cherry_planks cherry_log stripped_cherry_log cherry_wood stripped_cherry_wood warped_planks warped_stem stripped_warped_stem warped_hyphae stripped_warped_hyphae crimson_planks crimson_stem stripped_crimson_stem crimson_hyphae stripped_crimson_hyphae bamboo_planks bamboo_block stripped_bamboo_block bamboo_mosaic
-1
View File
@@ -284,7 +284,6 @@ float ld(float dist) {
float luma(vec3 color) {
return dot(color,vec3(0.21, 0.72, 0.07));
}
uniform vec3 eyePosition;
#if defined DISTANT_HORIZONS && DH_CHUNK_FADING > 0
float R2_dither(){
-2
View File
@@ -466,8 +466,6 @@ void Emission(
if( Emission < 254.5/255.0) Lighting = mix(Lighting, Albedo * 5.0 * Emissive_Brightness, pow(Emission, Emissive_Curve));
}
uniform vec3 eyePosition;
//////////////////////////////VOID MAIN//////////////////////////////
//////////////////////////////VOID MAIN//////////////////////////////
//////////////////////////////VOID MAIN//////////////////////////////
+18 -7
View File
@@ -465,11 +465,13 @@ vec2 SSRT_Shadows(vec3 viewPos, bool depthCheck, vec3 lightDir, float noise, boo
float SSS = 0.0;
float _near = near; float _far = far*4.0;
#if defined DISTANT_HORIZONS || defined VOXY
if (depthCheck) {
_near = dhVoxyNearPlane;
_far = dhVoxyFarPlane;
}
#endif
vec3 position = toClipSpace3_DH(viewPos, depthCheck) ;
@@ -492,11 +494,16 @@ vec2 SSRT_Shadows(vec3 viewPos, bool depthCheck, vec3 lightDir, float noise, boo
for (int i = 0; i < int(samples); i++) {
float sampleDepth = convertHandDepth_2(texelFetch2D(depthtex1, ivec2(newPos.xy/texelSize),0).x,hand);
float sampleDepth;
#if defined DISTANT_HORIZONS || defined VOXY
if(depthCheck) sampleDepth = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
if(depthCheck) {
sampleDepth = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
} else
#endif
{
sampleDepth = convertHandDepth_2(texelFetch2D(depthtex1, ivec2(newPos.xy/texelSize),0).x,hand);
}
if(sampleDepth < newPos.z){
float linearCurrentPos = swapperlinZ(newPos.z, _near, _far);
@@ -555,12 +562,16 @@ float SSRT_FlashLight_Shadows(vec3 viewPos, bool depthCheck, vec3 lightDir, floa
for (int i = 0; i < int(samples); i++) {
float samplePos = texelFetch2D(depthtex2, ivec2(newPos.xy/texelSize).xy,0).x;
float samplePos;
#if defined DISTANT_HORIZONS || defined VOXY
if(depthCheck) samplePos = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
if(depthCheck) {
samplePos = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
} else
#endif
{
samplePos = texelFetch2D(depthtex2, ivec2(newPos.xy/texelSize),0).x,hand;
}
if(samplePos < newPos.z && samplePos > 0.0){// && (samplePos <= max(minZ,maxZ) && samplePos >= min(minZ,maxZ))){
shadows = 0.0;
@@ -882,7 +893,7 @@ uniform float wetness;
#endif
}
roughness = mix(roughness, 0.5*(1+snowR), wetnessStages * Puddle_Reflection_Sharpness);
roughness = mix(roughness, 0.5*(1.0+snowR), wetnessStages * Puddle_Reflection_Sharpness);
if(f0 < 229.5/255.0 ) albedo = pow(albedo * (1.0 - 0.08*wetnessStages), vec3(1.0 + 0.7*wetnessStages));
}
+12 -2
View File
@@ -32,6 +32,10 @@ uniform float viewWidth;
uniform float aspectRatio;
uniform vec3 relativeEyePosition;
#ifdef PIXELATED
uniform vec2 view_res;
#endif
uniform int hideGUI;
uniform vec3 previousCameraPosition;
@@ -95,7 +99,7 @@ void doCameraGridLines(inout vec3 color, vec2 UV){
vec3 doMotionBlur(vec2 texcoord, float depth, float noise, bool hand){
float samples = 4.0;
const float samples = 4.0;
vec3 color = vec3(0.0);
float blurMult = 1.0;
@@ -151,12 +155,14 @@ void main() {
float noise = blueNoise();
#ifdef MOTION_BLUR
#if defined MOTION_BLUR
float depth = texture2D(depthtex0, texcoord*RENDER_SCALE).r;
bool hand = depth < 0.56;
float depth2 = convertHandDepth_2(depth, hand);
vec3 COLOR = doMotionBlur(texcoord, depth2, noise, hand);
#elif defined PIXELATED
vec3 COLOR = texelFetch(colortex7, ivec2(gl_FragCoord.xy)-ivec2(mod(gl_FragCoord.xy, PIXELIZATION_STRENGTH)),0).rgb;
#else
vec3 COLOR = texture2D(colortex7,texcoord).rgb;
#endif
@@ -166,6 +172,10 @@ void main() {
applyGameplayEffects(COLOR, texcoord, noise);
#endif
#if MAX_COLORS_PER_CHANNEL > 1
COLOR = floor(COLOR*(MAX_COLORS_PER_CHANNEL-1))/(MAX_COLORS_PER_CHANNEL-1);
#endif
#ifdef FILM_GRAIN
// basic film grain implementation from https://www.shadertoy.com/view/4sXSWs slightly edited
float x = (texcoord.x + 4.0 ) * (texcoord.y + 4.0 ) * (frameTimeCounter * 10.0);
+1 -1
View File
@@ -31,7 +31,7 @@ void main() {
if (abs(frameTimeCounter - lastFrameTimeCount) > WATER_SIM_FRAMETIME) {
float playerTallness = 1.5;
if(is_sneaking) playerTallness = 1.2;
#if !defined IS_LPV_ENABLED
#if !defined IS_LPV_ENABLED && !defined SHADER_GRASS
vec3 rayStart = vec3(0.0);
#else
vec3 rayStart = vec3(-relativeEyePosition);
+1 -1
View File
@@ -64,7 +64,7 @@
"worldTime",
"moonElevation",
"worldTimeSmooth",
#if CUMULONIMBUS > 0
#if CUMULONIMBUS == 1
"cumulonimbusStrength",
#endif
"framemod4_DH",
+22 -5
View File
@@ -1,6 +1,6 @@
option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit
prefix.SHADER_VERSION_LABEL = V
value.SHADER_VERSION_LABEL.482 = 5.1.4
value.SHADER_VERSION_LABEL.482 = 5.2.0
# if you're here to translate, this is not a joke, these do what they say
profile.POTATO=§4Potato
@@ -92,6 +92,8 @@ option.STARS_AMOUNT = Stars Amount
option.STARS_BRIGHTNESS = Stars Brightness
screen.Misc_Settings = Other Settings
screen.EXPERIMENTAL_STUFF = Experimental Stuff
value.MAX_COLORS_PER_CHANNEL.0 = Unlimited
screen.DEBUG_STUFF = §cDebug Settings§r
screen.LEGACY_STUFF = Legacy Settings
screen.Mod_support = Settings For Supported Mods
@@ -883,11 +885,17 @@ option.DOF_QUALITY=Depth Of Field
value.DOF_QUALITY.2=Medium
value.DOF_QUALITY.3=High
value.DOF_QUALITY.4=Ultra
value.DOF_QUALITY.5=Jitter
value.DOF_QUALITY.5=Jitter §aDISABLE AUTOFOCUS & ENABLE SCREENSHOT MODE §c(VOXY NOT SUPPORTED!)
option.MANUAL_FOCUS=Focus
option.DOF_ANAMORPHIC_RATIO=Anamorphic Ratio
value.MANUAL_FOCUS.-2=Autofocus
value.MANUAL_FOCUS.-2=Auto-Focus
value.MANUAL_FOCUS.-1=Brightness Slider
option.focal = Focal Length
option.fstop = F-Stop
option.DoF_Adaptation_Speed = Auto-Focusing Speed
option.FAR_BLUR_ONLY = Disable Blur Near Camera
option.REMOVE_HAND_BLUR = Disable Blur On Player Hand
option.DOF_DISPERSION_MULT = Chromatic Aberration Offset
screen.JITTER_DOF=Jitter DOF Settings
option.JITTER_STRENGTH=Jitter Strength
@@ -909,7 +917,7 @@ option.AEROCHROME_WOOL_ENABLED.comment = Technically wool things should be affec
option.EMISSIVE_ORES = Emissive Ores
option.EMISSIVE_ORES_STRENGTH = Emissive Ores Brightness
option.PLANET_CURVATURE = Planet Curvature §c(Voxy not supported!)
option.PLANET_CURVATURE = Planet Curvature §c(VOXY NOT SUPPORTED!)
option.CURVATURE_AMOUNT = Curvature Amount
screen.selection_box_outline = Selection Box Outline
@@ -1218,4 +1226,13 @@ option.TAA_MODE.comment = §bStandard:§r has the best antialiasing ability - us
option.MOTION_BLUR.comment = §bWhat is this?§r This effect makes the entire screen blur in whatever direction you move the camera, or wherever you move within the world. §aPERFORMANCE COST:§r very low
option.CHROMATIC_ABERRATION.comment = §bWhat is this?§r This effect makes the edges of the screen have a color shift of red and blue. §aPERFORMANCE COST:§r very very low
option.VIGNETTE.comment = §bWhat is this?§r This effect makes the edges of the screen increasingly dark the closer to the edges it gets. §aPERFORMANCE COST:§r very very low
option.TONEMAP.comment = §bWhat is this?§r This fits the internal HDR or whatever range of color the shader is doing, to look nice on your SDR monitor. it will control general color processing - the contrast, saturation, white point, black point, hue shift, path to white, ect - each one has a different look
option.TONEMAP.comment = §bWhat is this?§r This fits the internal HDR or whatever range of color the shader is doing, to look nice on your SDR monitor. it will control general color processing - the contrast, saturation, white point, black point, hue shift, path to white, ect - each one has a different look
option.DOF_QUALITY.comment= §bWhat is this?§r This is the "un-focus" blur in the background and foreground when a camera focuses its lense on something, sometimes referred to as "bokeh". §aPERFORMANCE COST:§r low to high
option.MANUAL_FOCUS.comment= §bWhat is this?§r control how the camera lense focuses. "Auto-Focus" will focus on what you look at. "brightness Slider" lets you manually focus using the brightness setting in video settings. "Manual Focus" only focuses on a fixed point some distance away from the camera in meters.
option.DOF_ANAMORPHIC_RATIO.comment= §bWhat is this?§r This is a recreation of the Anamorphic lense distorion, where it will stretch the out of focus/bokeh.
option.focal.comment =
option.aperture.comment =
option.DoF_Adaptation_Speed.comment = §bWhat is this?§r This controls how quickly auto focus adjusts to where you are looking.
option.FAR_BLUR_ONLY.comment = §bWhat is this?§r make it such that it cannot do an unfocus blur on objects near you, only objects far away.
option.REMOVE_HAND_BLUR.comment = §bWhat is this?§r remove all blurring on your hand.
option.DOF_DISPERSION_MULT.comment = §bWhat is this?§r This adds a color offset for red and blue, for a cool effect.
+1 -1
View File
@@ -1,6 +1,6 @@
option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - Bliss 编辑版
prefix.SHADER_VERSION_LABEL = 版本
value.SHADER_VERSION_LABEL.482 = 5.1.4
value.SHADER_VERSION_LABEL.482 = 5.2.0
# 如果你是来翻译的,这不是玩笑,这些选项的功能正如其名
profile.POTATO=§4土豆 (极低配置)
+8 -3
View File
@@ -47,11 +47,16 @@
for (int i = 0; i < int(samples); i++) {
float samplePos = texelFetch2D(depthtex2, ivec2(newPos.xy/texelSize).xy,0).x;
float samplePos;
#if defined DISTANT_HORIZONS || defined VOXY
if(depthCheck) samplePos = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
if(depthCheck) {
samplePos = texelFetch2D(dhVoxyDepthTex1, ivec2(newPos.xy/texelSize),0).x;
} else
#endif
{
samplePos = texelFetch2D(depthtex2, ivec2(newPos.xy/texelSize),0).x,hand;
}
if(samplePos < newPos.z && samplePos > 0.0){// && (samplePos <= max(minZ,maxZ) && samplePos >= min(minZ,maxZ))){
shadows = 0.0;
+7 -1
View File
@@ -99,7 +99,13 @@ void applyGameplayEffects(inout vec3 color, in vec2 texcoord, float noise){
//////////////////////// APPLY DISTORTION /////////////////////
// all of the distortion will be based around zooming the UV in the center
vec2 zoomUV = 0.5 + (texcoord - 0.5) * (1.0 - distortmask);
vec3 distortedColor = texture2D(colortex7, zoomUV).rgb;
#ifndef PIXELATED
vec3 distortedColor = texture2D(colortex7, zoomUV).rgb;
#else
vec2 fragCoord = zoomUV*view_res;
vec3 distortedColor = texelFetch(colortex7, ivec2(fragCoord)-ivec2(mod(fragCoord, PIXELIZATION_STRENGTH)), 0).rgb;
#endif
#if defined WATER_ON_CAMERA_EFFECT || defined ON_FIRE_DISTORT_EFFECT
// apply the distorted water color to the scene, but revert back to before when it ends
+19 -10
View File
@@ -472,21 +472,21 @@ uniform vec3 unsigned_WmoonVecSmooth;
#define CLOUD_SAMPLE_MULTIPLIER 1.0 // [0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 15.0]
#define CloudLayer0
#define CloudLayer0_coverage 0.9 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer0_density 0.8 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00]
#define CloudLayer0_height 500.0 // [-300.0 -290.0 -280.0 -270.0 -260.0 -250.0 -240.0 -230.0 -220.0 -210.0 -200.0 -190.0 -180.0 -170.0 -160.0 -150.0 -140.0 -130.0 -120.0 -110.0 -100.0 -90.0 -80.0 -70.0 -60.0 -50.0 -40.0 -30.0 -20.0 -10.0 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer0_tallness 180.0 // [0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer0_coverage 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer0_density 0.5 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00]
#define CloudLayer0_height 250.0 // [-300.0 -290.0 -280.0 -270.0 -260.0 -250.0 -240.0 -230.0 -220.0 -210.0 -200.0 -190.0 -180.0 -170.0 -160.0 -150.0 -140.0 -130.0 -120.0 -110.0 -100.0 -90.0 -80.0 -70.0 -60.0 -50.0 -40.0 -30.0 -20.0 -10.0 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer0_tallness 130.0 // [0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer0_scale 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer0_detail 600.0 // [100.0 150.0 200.0 250.0 300.0 350.0 400.0 450.0 500.0 550.0 600.0 650.0 700.0 750.0]
#define CloudLayer0_distance 100000.0 // [1000.0 5000.0 10000.0 20000.0 30000.0 40000.0 50000.0 60000.0 70000.0 80000.0 90000.0 100000.0 110000.0 120000.0 130000.0 140000.0 150000.0 160000.0 170000.0 180000.0 190000.0 200000.0 250000.0 300000.0 350000.0 400000.0 450000.0 500000.0]
#define CloudLayer1
#define CloudLayer1_coverage 0.9 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer1_density 0.8 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00]
#define CloudLayer1_height 800.0 // [-300.0 -290.0 -280.0 -270.0 -260.0 -250.0 -240.0 -230.0 -220.0 -210.0 -200.0 -190.0 -180.0 -170.0 -160.0 -150.0 -140.0 -130.0 -120.0 -110.0 -100.0 -90.0 -80.0 -70.0 -60.0 -50.0 -40.0 -30.0 -20.0 -10.0 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer1_tallness 300.0 // [0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer1_coverage 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer1_density 0.6 // [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00]
#define CloudLayer1_height 400.0 // [-300.0 -290.0 -280.0 -270.0 -260.0 -250.0 -240.0 -230.0 -220.0 -210.0 -200.0 -190.0 -180.0 -170.0 -160.0 -150.0 -140.0 -130.0 -120.0 -110.0 -100.0 -90.0 -80.0 -70.0 -60.0 -50.0 -40.0 -30.0 -20.0 -10.0 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer1_tallness 280.0 // [0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 110.0 120.0 130.0 140.0 150.0 160.0 170.0 180.0 190.0 200.0 210.0 220.0 230.0 240.0 250.0 260.0 270.0 280.0 290.0 300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0 390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0 480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0 570.0 580.0 590.0 600.0 700.0 800.0 900.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 4000.0 5000.0]
#define CloudLayer1_scale 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
#define CloudLayer1_detail 450.0 // [100.0 150.0 200.0 250.0 300.0 350.0 400.0 450.0 500.0 550.0 600.0 650.0 700.0 750.0]
#define CloudLayer1_detail 250.0 // [100.0 150.0 200.0 250.0 300.0 350.0 400.0 450.0 500.0 550.0 600.0 650.0 700.0 750.0]
#define CloudLayer1_distance 100000.0 // [1000.0 5000.0 10000.0 20000.0 30000.0 40000.0 50000.0 60000.0 70000.0 80000.0 90000.0 100000.0 110000.0 120000.0 130000.0 140000.0 150000.0 160000.0 170000.0 180000.0 190000.0 200000.0 250000.0 300000.0 350000.0 400000.0 450000.0 500000.0]
#define CUMULONIMBUS 0 // [0 1 2]
@@ -758,6 +758,8 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
// #define MOTION_BLUR
#ifdef MOTION_BLUR
#endif
#define MOTION_BLUR_STRENGTH 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 3.0 4.0 5.0]
// #define CHROMATIC_ABERRATION
@@ -769,6 +771,13 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
// #define FILM_GRAIN
#define FILM_GRAIN_STRENGTH 2.5 // [0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0]
// #define PIXELATED
#ifdef PIXELATED
#endif
#define PIXELIZATION_STRENGTH 4 // [2 3 4 5 6 7 8 9 10 16 32 64]
#define MAX_COLORS_PER_CHANNEL 0 // [0 4 8 16 32 64 128 256 512]
///////////////////////////////////////////////////////
// ----- GAMEPLAY POST EFFECT RELATED SETTINGS ----- //
///////////////////////////////////////////////////////
@@ -1171,7 +1180,7 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
#endif
// only iris 1.7+ allows tessellation
#if MC_VERSION < 12001 || MC_VERSION == 12002
#ifndef IRIS_FEATURE_TESSELLATION_SHADERS
#undef SHADER_GRASS
#endif
+9 -11
View File
@@ -272,7 +272,7 @@ float getCloudShape(int LayerIndex, int LOD, in vec3 position, float minHeight,
#ifdef CloudLayer1
case LARGECUMULUS_LAYER: {
erosion += (1.0 - densityAtPos(samplePos * CloudLayer1_detail * CloudLayer1_scale / 4.5)) * sqrt(omShape);
erosion += (1.0 - densityAtPos(samplePos * CloudLayer1_detail * CloudLayer1_scale / 3.571428)) * sqrt(omShape);
float falloff = 1.0 - clamp(posToMax/(CloudLayer1_tallness/CloudLayer1_scale),0.0,1.0);
erosion += abs(densityAtPos(samplePos * CloudLayer1_detail * CloudLayer1_scale) - falloff) * 0.75 * (omShape*omShape) * (1.0-falloff*0.5);
@@ -525,17 +525,17 @@ float getCloudScattering(
for (int i = 0; i < samples; i++){
if((LayerIndex == ALTOSTRATUS_LAYER) || (LayerIndex == CIRRUS_LAYER)){
shadowRayPosition = rayPosition + sunVis * sunVector * (1.0 + i * dither) / (pow(abs(sunVector.y*0.5),3.0) * 0.995 + 0.005) + moonVis * moonVector * (1.0 + i * dither) / (pow(abs(moonVector.y*0.5),3.0) * 0.995 + 0.005);
shadowRayPosition = rayPosition + sunVector*sunVis * (0.25 + i * dither) * 200.0 + moonVector*moonVis * (0.25 + i * dither) * 200.0;
} else
#if CUMULONIMBUS > 0
if((LayerIndex == LARGECUMULUS_LAYER) || (LayerIndex == SMALLCUMULUS_LAYER))
#endif
{
shadowRayPosition = rayPosition + lightVec * (1.0 + i + dither)*20.0;
shadowRayPosition = rayPosition + lightVec * (0.25 + i + dither)*20.0;
}
#if CUMULONIMBUS > 0
else {
shadowRayPosition = rayPosition + lightVec * (1.0 + i + dither)*isLarge;
shadowRayPosition = rayPosition + lightVec * (0.5 + i + dither)*isLarge;
}
#endif
@@ -680,7 +680,7 @@ vec4 raymarchCloud(
}
if (density == 0.0) return vec4(color, totalAbsorbance);
bool ifAboveOrBelowPlane = max(mix(-1.0, 1.0, clamp(cameraPosition.y - minHeight,0.0,1.0)) * normalize(rayDirection).y,0.0) > 0.0;
bool ifAboveOrBelowPlane = max(mix(-1.0, 1.0, clamp(cameraPosition.y - minHeight,0.0,1.0)) * normalize(rayDirection).y + 0.0001,0.0) > 0.0;
// check if the ray staring position is going farther than the reference distance, if yes, dont begin marching. this is to check for intersections with the world.
// check if the camera is above or below the cloud plane, so it doesnt waste work on the opposite hemisphere
@@ -838,7 +838,7 @@ vec4 raymarchCloud(
float skylightOcclusion = 1.0;
#if defined CloudLayer1 && defined CloudLayer0
if(LayerIndex == SMALLCUMULUS_LAYER) {
float upperLayerOcclusion = getCloudShape(LARGECUMULUS_LAYER, 0, rayPosition + vec3(0.0,1.0,0.0) * max((CloudLayer1_height+20) - rayPosition.y,0.0), CloudLayer1_height, CloudLayer1_height+CloudLayer1_height);
float upperLayerOcclusion = getCloudShape(LARGECUMULUS_LAYER, 0, rayPosition + vec3(0.0,1.0,0.0) * max((CloudLayer1_height+20) - rayPosition.y,0.0), CloudLayer1_height, CloudLayer1_height+CloudLayer1_height/CloudLayer1_scale);
skylightOcclusion = mix(mix(0.0,0.2,densityLarge), 1.0, pow(1.0 - upperLayerOcclusion*densityLarge,5));
}
#endif
@@ -855,7 +855,7 @@ vec4 raymarchCloud(
#if defined CloudLayer0 && defined CloudLayer1
if(LayerIndex == SMALLCUMULUS_LAYER){
shadowStartPos = rayPosition + mainLightVec / abs(mainLightVec.y) * max((CloudLayer1_height + 20.0) - rayPosition.y, 0.0);
sunShadowMask += 3.0 * getCloudShape(LARGECUMULUS_LAYER, 0, shadowStartPos, CloudLayer1_height, CloudLayer1_height+CloudLayer1_tallness)*densityLarge;
sunShadowMask += 3.0 * getCloudShape(LARGECUMULUS_LAYER, 0, shadowStartPos, CloudLayer1_height, CloudLayer1_height+CloudLayer1_tallness/CloudLayer1_scale)*densityLarge;
}
#endif
// cumulonimbus layer -> other cumulus layers
@@ -1010,9 +1010,7 @@ vec4 GetVolumetricClouds(
NormPlayerPos.y += 0.03 * heightRelativeToClouds;
#endif
const float maxSamples = 20.0*CLOUD_SAMPLE_MULTIPLIER;
const float minSamples = 12.0*CLOUD_SAMPLE_MULTIPLIER;
int samples = int(clamp(maxSamples / exp2(abs(NormPlayerPos.y)), minSamples, maxSamples));
int samples = int(10.0*CLOUD_SAMPLE_MULTIPLIER);
// int samples = 30;
///------- setup the ray
@@ -1138,7 +1136,7 @@ vec4 GetVolumetricClouds(
cloudheight = 4000;
minHeight = 600;
maxHeight = cloudheight + minHeight;
int cumulonimbusSamples = int(1.5*samples);
int cumulonimbusSamples = 2*samples;
cloudDist.xz = vec2(8.0);
rayDirection = NormPlayerPos.xyz * (cloudheight/length(NormPlayerPos.xyz/cloudDist)/cumulonimbusSamples);
File diff suppressed because one or more lines are too long