mirror of
https://github.com/Merlin1809/Eclipse-Shader.git
synced 2026-10-11 17:58:20 +08:00
merge latest commits from xonk
This commit is contained in:
1 parent
630cba02e0
commit
da3fd535ab
11 files changed
+88
-54
No files matched your search
@@ -421,7 +421,6 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 )
|
||||
BackgroundReflection = skyCloudsFromTex(mat3(gbufferModelViewInverse) * reflectedVector, colortex4).rgb / 1200.0;
|
||||
#endif
|
||||
#ifdef WATER_SUN_SPECULAR
|
||||
if(iswater) DirectLightColor *= WATER_SUN_REFLECTION_STRENGTH;
|
||||
SunReflection = (DirectLightColor * Shadows) * GGX(normalize(normals), -normalize(viewPos), normalize(WsunVec2), roughness, f0) * (1.0-Reflections.a);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -91,6 +91,21 @@ uniform vec3 cameraPosition;
|
||||
uniform vec2 texelSize;
|
||||
uniform int framemod8;
|
||||
|
||||
#if defined HAND
|
||||
uniform mat4 gbufferPreviousModelView;
|
||||
uniform vec3 previousCameraPosition;
|
||||
|
||||
float detectCameraMovement(){
|
||||
// simply get the difference of modelview matrices and cameraPosition across a frame.
|
||||
vec3 fakePos = vec3(0.5,0.5,0.0);
|
||||
vec3 hand_playerPos = mat3(gbufferModelViewInverse) * fakePos + (cameraPosition - previousCameraPosition);
|
||||
vec3 previousPosition = mat3(gbufferPreviousModelView) * hand_playerPos;
|
||||
float detectMovement = 1.0 - clamp(distance(previousPosition, fakePos)/texelSize.x,0.0,1.0);
|
||||
|
||||
return detectMovement;
|
||||
}
|
||||
#endif
|
||||
|
||||
#include "/lib/TAA_jitter.glsl"
|
||||
|
||||
|
||||
@@ -193,7 +208,7 @@ void main() {
|
||||
|
||||
#if defined ENTITIES && defined IS_IRIS
|
||||
// force out of frustum
|
||||
if (entityId == 1599) gl_Position.z -= 10000;
|
||||
if (entityId == 1599) gl_Position.z -= 10000.0;
|
||||
#endif
|
||||
|
||||
vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz;
|
||||
@@ -427,7 +442,13 @@ void main() {
|
||||
gl_Position.xy = gl_Position.xy * RENDER_SCALE + RENDER_SCALE * gl_Position.w - gl_Position.w;
|
||||
#endif
|
||||
#ifdef TAA
|
||||
gl_Position.xy += offsets[framemod8] * gl_Position.w*texelSize;
|
||||
#ifdef HAND
|
||||
// turn off jitter when camera moves.
|
||||
// this is to hide the jitter when the same happens for TAA blend factor and the jitter becomes visible during camera movement
|
||||
gl_Position.xy += (offsets[framemod8] * gl_Position.w*texelSize) * detectCameraMovement();
|
||||
#else
|
||||
gl_Position.xy += offsets[framemod8] * gl_Position.w*texelSize;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -775,7 +775,6 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 )
|
||||
vec3 DirectLightColor = WsunVec;
|
||||
float Shadows = 0.0;
|
||||
#endif
|
||||
if(isWater) DirectLightColor *= WATER_SUN_REFLECTION_STRENGTH;
|
||||
vec3 specularReflections = specularReflections(viewPos, normalize(feetPlayerPos), WsunVec, vec3(blueNoise(), vec2(interleaved_gradientNoise_temporal())), worldSpaceNormal, roughness, f0, Albedo, FinalColor*gl_FragData[0].a, DirectLightColor * Shadows, lightmap.y, isHand, isWater, reflectance, flashLightSpecularData);
|
||||
|
||||
gl_FragData[0].a = gl_FragData[0].a + (1.0-gl_FragData[0].a) * reflectance;
|
||||
|
||||
@@ -100,8 +100,8 @@ vec3 doMotionBlur(vec2 texcoord, float depth, float noise, bool hand){
|
||||
vec2 velocity = texcoord - previousPosition.xy;
|
||||
|
||||
// thank you Capt Tatsu for letting me use these
|
||||
velocity /= 1.0 + length(velocity); // ensure the blurring stays sane where UV is beyond 1.0 or -1.0
|
||||
velocity /= 1.0 + frameTime*1000.0; // ensure the blur radius stays roughly the same no matter the framerate
|
||||
velocity /= (1.0 + length(velocity)); // ensure the blurring stays sane where UV is beyond 1.0 or -1.0
|
||||
velocity /= (1.0 + frameTime*1000.0 * samples * 0.25); // ensure the blur radius stays roughly the same no matter the framerate or sample count
|
||||
velocity *= blurMult * MOTION_BLUR_STRENGTH; // remove hand blur and add user control
|
||||
|
||||
texcoord = texcoord - velocity*(samples*0.5 + noise);
|
||||
|
||||
@@ -40,7 +40,7 @@ item.1017=magma_block
|
||||
|
||||
item.1018=redstone_torch
|
||||
|
||||
item.1029=sculk_catalyst
|
||||
item.1019=sculk_catalyst
|
||||
|
||||
item.1020=sea_lantern \
|
||||
betternether:willow_torch
|
||||
|
||||
+35
-19
@@ -10,15 +10,35 @@ profile.HIGH=§bHigh
|
||||
profile.VERY_HIGH=§9Very High
|
||||
profile.ULTRA=§dUltra
|
||||
|
||||
option.OLD_LIGHTLEAK_FIX = Lightleak Fix
|
||||
option.OLD_LIGHTLEAK_FIX = Old Lightleak Fix
|
||||
option.CAVE_DETECTION = Cave detection
|
||||
value.CAVE_DETECTION.0.0 = ON
|
||||
value.CAVE_DETECTION.1.0 = Y < 62.0
|
||||
value.CAVE_DETECTION.2.0 = OFF
|
||||
option.sunPathRotation = Sun Angle
|
||||
option.sun_illuminance = Sun Illuminance
|
||||
option.moon_illuminance = Moon Illuminance
|
||||
option.MOONPHASE_BASED_MOONLIGHT = Moonphase Brightness Levels
|
||||
suffix.sunPathRotation = °
|
||||
option.sun_illuminance = Sun Brightness
|
||||
option.moon_illuminance = Moon Brightness
|
||||
option.MOONPHASE_BASED_MOONLIGHT = Moonphase based brightness levels
|
||||
option.LIGHTLEAKFIX_MODE = "lightleak fix" mode
|
||||
value.LIGHTLEAKFIX_MODE.0 = none. §csunlight will leak through walls§r
|
||||
value.LIGHTLEAKFIX_MODE.1 = gap fill/zoom. §cmakes shadows blocky§r
|
||||
value.LIGHTLEAKFIX_MODE.2 = use sky lightmap levels. §cno sunlight will shine in low lightmap levels§r
|
||||
|
||||
option.colortype = coloring mode
|
||||
value.colortype.1 = RGB color (above)
|
||||
option.sunColorR = Sun Color: Red
|
||||
option.sunColorG = Sun Color: Green
|
||||
option.sunColorB = Sun Color: Blue
|
||||
option.moonColorR = Moon Color: Red
|
||||
option.moonColorG = Moon Color: Green
|
||||
option.moonColorB = Moon Color: Blue
|
||||
|
||||
value.colortype.2 = Kelvin temperature (below)
|
||||
option.Sun_temp = Sun temperature
|
||||
suffix.Sun_temp = K
|
||||
option.Moon_temp = moon temperature
|
||||
suffix.Moon_temp = K
|
||||
option.REALMOON = Realistic Moon
|
||||
screen.Misc_Settings = §cDebugging§r/Experimental Settings
|
||||
screen.Mod_support = Settings For Supported Mods
|
||||
@@ -73,9 +93,6 @@ screen.Direct_Light = Direct Light
|
||||
value.shadowDistance.4096.0 = 256 Chunks
|
||||
value.shadowDistance.8192.0 = 512 Chunks
|
||||
|
||||
option.OPTIMIZED_SHADOW_DISTANCE = Max Shadow Bounds
|
||||
value.OPTIMIZED_SHADOW_DISTANCE.-1.0 = Un-Optimized
|
||||
value.OPTIMIZED_SHADOW_DISTANCE.1.0 = Optimized
|
||||
option.entityShadowDistanceMul = Entity Shadow Distance
|
||||
value.entityShadowDistanceMul.0.01 = 1% of Shadow Distance
|
||||
value.entityShadowDistanceMul.0.02 = 2% of Shadow Distance
|
||||
@@ -147,9 +164,10 @@ screen.Subsurface_Scattering = Sub-Surface Scattering
|
||||
screen.Ambient_light = Ambient Light
|
||||
option.AO_Strength = AO Multiplier
|
||||
option.GI_Strength = GI Multiplier
|
||||
option.HQ_SSGI = Long Range SSGI
|
||||
option.HQ_SSGI = Long Range Marching (SSRT)
|
||||
option.UseQuarterResDepth = sample 1/4 resolution depth (SSRT)
|
||||
option.Hand_Held_lights = Hand Held Light
|
||||
option.SKY_CONTRIBUTION_IN_SSRT = High Quality Ambient Light
|
||||
option.SKY_CONTRIBUTION_IN_SSRT = High Quality Ambient Light (SSRT)
|
||||
option.ambientOcclusionLevel = Vanilla AO Amount
|
||||
option.ambient_brightness = Ambient Light Brightness
|
||||
option.MIN_LIGHT_AMOUNT = Minimum Light Brightness
|
||||
@@ -157,8 +175,8 @@ screen.Ambient_light = Ambient Light
|
||||
value.indirect_effect.0 = Vanilla AO
|
||||
value.indirect_effect.1 = SSAO
|
||||
value.indirect_effect.2 = GTAO
|
||||
value.indirect_effect.3 = RTAO
|
||||
value.indirect_effect.4 = SSGI
|
||||
value.indirect_effect.3 = SSRT (AO only) - §cLOTS OF VISUAL NOISE§r
|
||||
value.indirect_effect.4 = SSRT (AO + GI) - §cLOTS OF VISUAL NOISE§r
|
||||
option.RAY_COUNT = RT Ray Count
|
||||
option.HANDHELD_LIGHT_RANGE = Handheld Light Range
|
||||
|
||||
@@ -479,7 +497,6 @@ screen.World = World
|
||||
option.SNELLS_WINDOW = Snell's Window
|
||||
option.MINIMUM_WATER_ABSORBANCE = Minimum Water Absorbance
|
||||
value.MINIMUM_WATER_ABSORBANCE.-1 = AUTO
|
||||
option.WATER_SUN_REFLECTION_STRENGTH = Water Sun Reflection Strength
|
||||
|
||||
screen.Water_fog_color = Water Fog Settings
|
||||
option.Dirt_Scatter_R = Scatter Red (dirt)
|
||||
@@ -635,8 +652,7 @@ screen.Shadows.comment = Configure the shadows from the sun to your liking.
|
||||
option.SCREENSPACE_CONTACT_SHADOWS.comment = §bWhat is this?§r These are shadows for things that are far away, and on small details nearby. §aPERFORMANCE COST:§r low to medium; it is more expensive at higher resolutions.
|
||||
option.RENDER_ENTITY_SHADOWS.comment = §bWhat is this?§r Shadows on all types of entities, like mobs, chests, banners, or signs. §aPERFORMANCE COST:§r low to high; it is very expensive when there are many entities nearby.
|
||||
option.shadowMapResolution.comment = The quality of shadows from the sun casted by things in the world. §aPERFORMANCE COST:§r medium to very high; Shadows must render the 3D world a second time from the perspective of the sun, this is why it cuts performance in half.
|
||||
option.shadowDistance.comment = The maximum distance the shadowmap can render. The distance is not measured linearly in chunks when set to un-optimized. §aPERFORMANCE COST:§r medium to very high; If the chunk render distance is high, the shadows will become more expensive.
|
||||
option.OPTIMIZED_SHADOW_DISTANCE.comment = Render the shadows only in a sphere around you, limited to a max distance in chunks. Un-optimized does not render the shadows in a sphere and is not locked to chunks; it can cover alot more area with the same distance settings. The distance is not measured in chunks when set to un-optimized. §aPERFORMANCE COST:§r low to medium. Optimized is faster, and unoptimized is slower.
|
||||
option.shadowDistance.comment = The maximum distance the shadowmap can render. §aPERFORMANCE COST:§r medium to very high; If the chunk render distance is high, the shadows will become more expensive.
|
||||
screen.Filtering.comment = Configure the filtering effects applied to the shadows.
|
||||
option.SHADOW_FILTER_SAMPLE_COUNT.comment = The quality of the basic shadow filter. This filter just softens the shadows. §aPERFORMANCE COST:§r low to medium; Increasing this should reduce some noise at the edge of shadows.
|
||||
option.Min_Shadow_Filter_Radius.comment = The maximum softness of the basic shadow filter.
|
||||
@@ -646,16 +662,16 @@ screen.Shadows.comment = Configure the shadows from the sun to your liking.
|
||||
option.Max_Filter_Depth.comment = Configure the size of the sun. If the sun is larger, shadows get softer closer to what casts them.
|
||||
|
||||
screen.Ambient_light.comment = Configure settings related to the lighting in shaded places
|
||||
option.AO_Strength.comment = Configure the strength of the ambient occlusion created by SSAO, GTAO, RTAO, and SSGI. §bWhat is this?§r ambient occlusion is the small soft shadows in corners and such.
|
||||
option.GI_Strength.comment = Configure the strength of the global illumination created by SSGI. §bWhat is this?§r global illumination in this scenario specifically is the light bouncing off a surface and onto some other area.
|
||||
option.HQ_SSGI.comment = Toggle long range screen-space global illumination. §aPERFORMANCE COST:§r very high
|
||||
option.AO_Strength.comment = Configure the strength of the ambient occlusion created by SSAO, GTAO, and SSRT. §bWhat is this?§r ambient occlusion is the small soft shadows in corners and such.
|
||||
option.GI_Strength.comment = Configure the strength of the global illumination created by SSRT. §bWhat is this?§r global illumination in this scenario specifically is the light bouncing off a surface and onto some other area.
|
||||
option.HQ_SSGI.comment = Toggle long range screen-space raytracing. this will allow SSRT lighting to travel ALOT farther within the scene from where it bounces/casts shadows. §aPERFORMANCE COST:§r very high
|
||||
option.Hand_Held_lights.comment = Toggle shader-side hand held lightsources. §aPERFORMANCE COST:§r very low
|
||||
option.SKY_CONTRIBUTION_IN_SSRT.comment = Allow the RTAO or SSGI to take the entire sky and fog into account to create high quality lighting for shaded areas. This may introduce more noise. §aPERFORMANCE COST:§r medium
|
||||
option.SKY_CONTRIBUTION_IN_SSRT.comment = Allow the SSRT to take the entire sky and fog into account to create high quality lighting for shaded areas. This may introduce more noise. §aPERFORMANCE COST:§r medium
|
||||
|
||||
option.ambientOcclusionLevel.comment = Configure the strength of the ambient occlusion from vanilla minecraft. §bWhat is this?§r This ambient occlusion is in minecraft even without shaders enabled.
|
||||
option.ambient_brightness.comment = Configure the brightnes of lighting in shaded places
|
||||
option.MIN_LIGHT_AMOUNT.comment = Configure the minimum amount of light that can be in shaded places.
|
||||
option.indirect_effect.comment = Toggle different types of effects to make lighting in shaded places higher quality. §aPERFORMANCE COSTS:§r. Vanilla AO: very low. SSAO: low to medium. GTAO: medium to high. RTAO or SSGI: high to very high
|
||||
option.indirect_effect.comment = Toggle different types of effects to make lighting in shaded places higher quality. §aPERFORMANCE COSTS:§r. Vanilla AO: very low. SSAO: low to medium. GTAO: medium to high. SSRT: high to very high - GI is slower
|
||||
|
||||
screen.Ambient_Colors.comment = Configure the color of light in shaded areas.
|
||||
screen.Torch_Colors.comment = Configure the color of light from torches or other placed lightsources.
|
||||
|
||||
@@ -36,7 +36,6 @@ vec3 doBlockLightLighting(
|
||||
float lightmapCurve = mix(lightmapLight, 2.5, lightmapBrightspot);
|
||||
vec3 blockLight = lightmapCurve * lightColor;
|
||||
|
||||
|
||||
#if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store
|
||||
vec4 lpvSample = SampleLpvLinear(lpvPos);
|
||||
#ifdef VANILLA_LIGHTMAP_MASK
|
||||
@@ -51,7 +50,11 @@ vec3 doBlockLightLighting(
|
||||
voxelRangeFalloff = 1.0 - pow(1.0-pow(voxelRangeFalloff,1.5),3.0);
|
||||
|
||||
// outside the voxel volume, lerp to vanilla lighting as a fallback
|
||||
blockLight = mix(blockLight, lpvSample.rgb, voxelRangeFalloff);
|
||||
// blockLight = mix(blockLight, lpvSample.rgb, voxelRangeFalloff);
|
||||
|
||||
// to fix optifine/continuity custom emissives, only allow the vanilla lightmap at high torch light levels.
|
||||
vec3 mix_lpvsample = mix(max(lpvSample.rgb, lightColor * 2.5 * min(max(lightmap-0.999,0.0)/(1.0-0.999),1.0)), lpvSample.rgb, clamp(dot(lpvSample.rgb,vec3(300.0)),0.0,1.0));
|
||||
blockLight = mix(blockLight, mix_lpvsample, voxelRangeFalloff);
|
||||
|
||||
#ifdef Hand_Held_lights
|
||||
// create handheld lightsources
|
||||
@@ -74,9 +77,9 @@ vec3 doIndirectLighting(
|
||||
|
||||
// float lightmapCurve = pow(1.0-pow(1.0-lightmap,2.0),2.0);
|
||||
// float lightmapCurve = lightmap*lightmap;
|
||||
float lightmapCurve = (pow(lightmap,15.0)*2.0 + lightmap*lightmap)*0.5;
|
||||
float lightmapCurve = (pow(lightmap,15.0)*2.0 + lightmap*lightmap)/3.0; //make sure its 0.0-1.0
|
||||
|
||||
vec3 indirectLight = lightColor * lightmapCurve * ambient_brightness * 0.7;
|
||||
vec3 indirectLight = lightColor * lightmapCurve * ambient_brightness;
|
||||
|
||||
// indirectLight = max(indirectLight, minimumLightColor * (MIN_LIGHT_AMOUNT * 0.02 * 0.2 + nightVision));
|
||||
indirectLight += minimumLightColor * (MIN_LIGHT_AMOUNT * 0.02 * 0.2 + nightVision*0.02);
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#define MINIMUM_WATER_ABSORBANCE -1 // [-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 60 70 80 90 100]
|
||||
#define rayMarchSampleCount 2 // [1 2 3 4 6 8 12 16 32 64]
|
||||
#define Water_Top_Layer 62.90 // [0.90 1.90 2.90 3.90 4.90 5.90 6.90 7.90 8.90 9.90 10.90 11.90 12.90 13.90 14.90 15.90 16.90 17.90 18.90 19.90 20.90 21.90 22.90 23.90 24.90 25.90 26.90 27.90 28.90 29.90 30.90 31.90 32.90 33.90 34.90 35.90 36.90 37.90 38.90 39.90 40.90 41.90 42.90 43.90 44.90 45.90 46.90 47.90 48.90 49.90 50.90 51.90 52.90 53.90 54.90 55.90 56.90 57.90 58.90 59.90 60.90 61.90 62.90 63.90 64.90 65.90 66.90 67.90 68.90 69.90 70.90 71.90 72.90 73.90 74.90 75.90 76.90 77.90 78.90 79.90 80.90 81.90 82.90 83.90 84.90 85.90 86.90 87.90 88.90 89.90 90.90 91.90 92.90 93.90 94.90 95.90 96.90 97.90 98.90 99.90 100.90 101.90 102.90 103.90 104.90 105.90 106.90 107.90 108.90 109.90 110.90 111.90 112.90 113.90 114.90 115.90 116.90 117.90 118.90 119.90 120.90 121.90 122.90 123.90 124.90 125.90 126.90 127.90 128.90 129.90 130.90 131.90 132.90 133.90 134.90 135.90 136.90 137.90 138.90 139.90 140.90 141.90 142.90 143.90 144.90 145.90 146.90 147.90 148.90 149.90 150.90 151.90 152.90 153.90 154.90 155.90 156.90 157.90 158.90 159.90 160.90 161.90 162.90 163.90 164.90 165.90 166.90 167.90 168.90 169.90 170.90 171.90 172.90 173.90 174.90 175.90 176.90 177.90 178.90 179.90 180.90 181.90 182.90 183.90 184.90 185.90 186.90 187.90 188.90 189.90 190.90 191.90 192.90 193.90 194.90 195.90 196.90 197.90 198.90 199.90]
|
||||
#define WATER_SUN_REFLECTION_STRENGTH 1 // [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70]
|
||||
|
||||
#define FAKE_REFRACTION_EFFECT
|
||||
#define FAKE_DISPERSION_EFFECT
|
||||
|
||||
+17
-19
@@ -103,45 +103,43 @@ float shlickFresnelRoughness(float XdotN, float roughness){
|
||||
|
||||
vec3 rayTraceSpeculars(vec3 dir, vec3 position, float dither, float quality, bool hand, inout float reflectionLength, float fresnel){
|
||||
|
||||
float biasAmount = 0.00005;//mix(0.00035, 0.00005, pow(fresnel,0.01));
|
||||
float biasAmount = 0.000075;
|
||||
|
||||
vec3 clipPosition = toClipSpace3(position);
|
||||
float rayLength = ((position.z + dir.z * far*sqrt(3.)) > -near) ?
|
||||
(-near -position.z) / dir.z : far*sqrt(3.);
|
||||
vec3 direction = normalize(toClipSpace3(position+dir*rayLength)-clipPosition); //convert to clip space
|
||||
direction.xy = normalize(direction.xy);
|
||||
float rayLength = ((position.z + dir.z * far*sqrt(3.)) > -near) ? (-near -position.z) / dir.z : far*sqrt(3.);
|
||||
|
||||
vec3 direction = toClipSpace3(position + dir*rayLength) - clipPosition; //convert to clip space
|
||||
|
||||
//get at which length the ray intersects with the edge of the screen
|
||||
vec3 maxLengths = (step(0.0,direction)-clipPosition) / direction;
|
||||
float mult = min(min(maxLengths.x,maxLengths.y),maxLengths.z);
|
||||
vec3 maxLengths = (step(0.0, direction) - clipPosition) / direction;
|
||||
float mult = min(min(maxLengths.x, maxLengths.y), maxLengths.z);
|
||||
vec3 stepv = direction * mult / quality;
|
||||
|
||||
vec3 stepv = direction * mult / quality*vec3(RENDER_SCALE,1.0);
|
||||
clipPosition.xy *= RENDER_SCALE;
|
||||
stepv.xy *= RENDER_SCALE;
|
||||
|
||||
vec3 spos = clipPosition*vec3(RENDER_SCALE,1.0) + stepv*(dither-0.5);
|
||||
vec3 spos = clipPosition + stepv*dither;
|
||||
|
||||
#if defined DEFERRED_SPECULAR && defined TAA
|
||||
spos.xy += TAA_Offset*texelSize*0.5/RENDER_SCALE;
|
||||
#endif
|
||||
|
||||
float minZ = spos.z;
|
||||
float minZ = spos.z - 0.00025 / linZ(spos.z);;
|
||||
float maxZ = spos.z;
|
||||
|
||||
for (int i = 0; i <= int(quality); i++) {
|
||||
|
||||
float sp = invLinZ(sqrt(texelFetch2D(colortex4,ivec2(spos.xy/texelSize/4.0),0).a/65000.0));
|
||||
float sampleDepth = sqrt(texelFetch2D(colortex4,ivec2(spos.xy/texelSize/4.0),0).a/65000.0);
|
||||
float sp = invLinZ(sampleDepth);
|
||||
|
||||
float currZ = linZ(spos.z);
|
||||
float nextZ = linZ(sp);
|
||||
if(sp < max(minZ, maxZ) && sp > min(minZ, maxZ)) return vec3(spos.xy/RENDER_SCALE,sp);
|
||||
|
||||
if(sp < max(minZ,maxZ) && sp > min(minZ,maxZ)) return vec3(spos.xy/RENDER_SCALE,sp);
|
||||
|
||||
minZ = maxZ-biasAmount / currZ;
|
||||
minZ = maxZ - biasAmount / linZ(spos.z);
|
||||
maxZ += stepv.z;
|
||||
|
||||
spos += stepv;
|
||||
|
||||
reflectionLength += 1.0 / quality;
|
||||
|
||||
}
|
||||
return vec3(1.1);
|
||||
}
|
||||
@@ -300,8 +298,8 @@ vec3 specularReflections(
|
||||
f0 = f0 == 0.0 ? 0.02 : f0;
|
||||
|
||||
// if(isHand){
|
||||
// f0 = 0.9;
|
||||
// roughness = 0.25;
|
||||
// f0 = 1.0;
|
||||
// roughness = 0.0;
|
||||
// }
|
||||
bool isMetal = f0 > 229.5/255.0;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ float cloud_movement = (worldTime + mod(worldDay,100)*24000.0) / 24.0 * Cloud_S
|
||||
|
||||
float lightningFlashTimer = floor(frameTimeCounter * 11.0);
|
||||
float randomSeed = fract(sin(dot(vec2(lightningFlashTimer), vec2(12.9898,78.233))) * 43758.5453);
|
||||
float lightningFlash = mix(0.3, 1.5, randomSeed);
|
||||
float lightningFlash = mix(0.1, 2.5, randomSeed);
|
||||
|
||||
#ifdef CUMULONIMBUS
|
||||
float lightningDuration = 0.75 + CUMULONIMBUS_LIGHTNING_DELAY;
|
||||
@@ -837,7 +837,7 @@ vec4 GetVolumetricClouds(
|
||||
minHeight = 600;
|
||||
maxHeight = cloudheight + minHeight;
|
||||
|
||||
cloudDist.xz = vec2(8.0);
|
||||
cloudDist.xz = vec2(10.0);
|
||||
rayDirection = NormPlayerPos.xyz * (cloudheight/length(NormPlayerPos.xyz/cloudDist)/samples);
|
||||
rayPosition = getRayOrigin(rayDirection, cameraPosition, dither.y, minHeight, maxHeight);
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ alphaTest.gbuffers_water = false
|
||||
alphaTest.gbuffers_skybasic = false
|
||||
alphaTest.gbuffers_skytextured = false
|
||||
|
||||
sliders = RAIN_AMBIENT_LIGHT_MODIFIER EMISSIVE_ORES_STRENGTH WATER_SUN_REFLECTION_STRENGTH RIPPLE_STRENGTH RIPPLE_INTENSITY CUSTOM_LIGHTNING_SCALE CUSTOM_LIGHTNING_R CUSTOM_LIGHTNING_G CUSTOM_LIGHTNING_B CUSTOM_LIGHTNING_TEX CUSTOM_LIGHTNING_POS_X CUSTOM_LIGHTNING_POS_Y CUSTOM_LIGHTNING_POS_Z CUMULONIMBUS_LIGHTNING_BRIGHTNESS CUMULONIMBUS_LIGHTNING_DELAY ShaderSnow ShaderSnowStrength BorderFogIntensity CAVE_DETECTION ON_FIRE_DISTORT_EFFECT_STRENGTH USE_CUSTOM_SKY_GROUND_LIGHTING_COLORS DIRECTLIGHT_DIFFUSE_R DIRECTLIGHT_DIFFUSE_G DIRECTLIGHT_DIFFUSE_B INDIRECTLIGHT_DIFFUSE_R INDIRECTLIGHT_DIFFUSE_G INDIRECTLIGHT_DIFFUSE_B DIRECTLIGHT_CLOUDS_R DIRECTLIGHT_CLOUDS_G DIRECTLIGHT_CLOUDS_B INDIRECTLIGHT_CLOUDS_R INDIRECTLIGHT_CLOUDS_G INDIRECTLIGHT_CLOUDS_B DIRECTLIGHT_FOG_R DIRECTLIGHT_FOG_G DIRECTLIGHT_FOG_B INDIRECTLIGHT_FOG_R INDIRECTLIGHT_FOG_G INDIRECTLIGHT_FOG_B SKY_GROUND_R SKY_GROUND_G SKY_GROUND_B DOF_DISPERSION_MULT FLASHLIGHT_BRIGHTNESS_MULT FLASHLIGHT_BRIGHTNESS_FALLOFF_MULT FLASHLIGHT_RANGE FLASHLIGHT_SIZE FLASHLIGHT_R FLASHLIGHT_G FLASHLIGHT_B LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START CloudLayer2_scale CloudLayer0_scale CloudLayer1_scale CloudLayer3_scale CloudLayer0_tallness CloudLayer1_tallness EXPOSURE_DARKENING EXPOSURE_BRIGHTENING VIGNETTE_STRENGTH CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE CHROMATIC_ABERRATION_STRENGTH SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps MOTION_BLUR_STRENGTH OVERDRAW_MAX_DISTANCE DAY0_l3_coverage DAY0_l3_density DAY1_l3_coverage DAY1_l3_density DAY2_l3_coverage DAY2_l3_density DAY3_l3_coverage DAY3_l3_density DAY4_l3_coverage DAY4_l3_density DAY5_l3_coverage DAY5_l3_density DAY6_l3_coverage DAY6_l3_density DAY7_l3_coverage DAY7_l3_density DAY8_l3_coverage DAY8_l3_density DAY9_l3_coverage DAY9_l3_density DAY0_l0_coverage DAY0_l1_coverage DAY0_l2_coverage DAY0_ufog_density DAY0_l0_density DAY0_l1_density DAY0_l2_density DAY0_cfog_density DAY1_l0_coverage DAY1_l1_coverage DAY1_l2_coverage DAY1_ufog_density DAY1_l0_density DAY1_l1_density DAY1_l2_density DAY1_cfog_density DAY2_l0_coverage DAY2_l1_coverage DAY2_l2_coverage DAY2_ufog_density DAY2_l0_density DAY2_l1_density DAY2_l2_density DAY2_cfog_density DAY3_l0_coverage DAY3_l1_coverage DAY3_l2_coverage DAY3_ufog_density DAY3_l0_density DAY3_l1_density DAY3_l2_density DAY3_cfog_density DAY4_l0_coverage DAY4_l1_coverage DAY4_l2_coverage DAY4_ufog_density DAY4_l0_density DAY4_l1_density DAY4_l2_density DAY4_cfog_density DAY5_l0_coverage DAY5_l1_coverage DAY5_l2_coverage DAY5_ufog_density DAY5_l0_density DAY5_l1_density DAY5_l2_density DAY5_cfog_density DAY6_l0_coverage DAY6_l1_coverage DAY6_l2_coverage DAY6_ufog_density DAY6_l0_density DAY6_l1_density DAY6_l2_density DAY6_cfog_density DAY7_l0_coverage DAY7_l1_coverage DAY7_l2_coverage DAY7_ufog_density DAY7_l0_density DAY7_l1_density DAY7_l2_density DAY7_cfog_density DAY8_l0_coverage DAY8_l1_coverage DAY8_l2_coverage DAY8_ufog_density DAY8_l0_density DAY8_l1_density DAY8_l2_density DAY8_cfog_density DAY9_l0_coverage DAY9_l1_coverage DAY9_l2_coverage DAY9_ufog_density DAY9_l0_density DAY9_l1_density DAY9_l2_density DAY9_cfog_density sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW entityShadowDistanceMul HANDHELD_LIGHT_RANGE CLOUD_SHADOW_STRENGTH CloudLayer0_coverage CloudLayer0_density CloudLayer0_height CloudLayer1_coverage CloudLayer1_density CloudLayer1_height CloudLayer2_coverage CloudLayer2_density CloudLayer2_height CloudLayer3_coverage CloudLayer3_density CloudLayer3_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY SWAMP_R SWAMP_G SWAMP_B JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY JUNGLE_R JUNGLE_G JUNGLE_B DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY DARKFOREST_R DARKFOREST_G DARKFOREST_B NETHER_PLUME_DENSITY END_STORM_DENSTIY LIT_PARTICLE_BRIGHTNESS UPPER_CURVE LOWER_CURVE EMISSIVE_TYPE SCALE_FACTOR ambientsss_brightness SSS_TYPE Cloud_Speed Cloud_Speed_Rain Cloud_Speed_Thunder ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_Fog_mult Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Strength LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH BLOOM_STRENGTLine truncated
|
||||
sliders = RAIN_AMBIENT_LIGHT_MODIFIER EMISSIVE_ORES_STRENGTH RIPPLE_STRENGTH RIPPLE_INTENSITY CUSTOM_LIGHTNING_SCALE CUSTOM_LIGHTNING_R CUSTOM_LIGHTNING_G CUSTOM_LIGHTNING_B CUSTOM_LIGHTNING_TEX CUSTOM_LIGHTNING_POS_X CUSTOM_LIGHTNING_POS_Y CUSTOM_LIGHTNING_POS_Z CUMULONIMBUS_LIGHTNING_BRIGHTNESS CUMULONIMBUS_LIGHTNING_DELAY ShaderSnow ShaderSnowStrength BorderFogIntensity CAVE_DETECTION ON_FIRE_DISTORT_EFFECT_STRENGTH USE_CUSTOM_SKY_GROUND_LIGHTING_COLORS DIRECTLIGHT_DIFFUSE_R DIRECTLIGHT_DIFFUSE_G DIRECTLIGHT_DIFFUSE_B INDIRECTLIGHT_DIFFUSE_R INDIRECTLIGHT_DIFFUSE_G INDIRECTLIGHT_DIFFUSE_B DIRECTLIGHT_CLOUDS_R DIRECTLIGHT_CLOUDS_G DIRECTLIGHT_CLOUDS_B INDIRECTLIGHT_CLOUDS_R INDIRECTLIGHT_CLOUDS_G INDIRECTLIGHT_CLOUDS_B DIRECTLIGHT_FOG_R DIRECTLIGHT_FOG_G DIRECTLIGHT_FOG_B INDIRECTLIGHT_FOG_R INDIRECTLIGHT_FOG_G INDIRECTLIGHT_FOG_B SKY_GROUND_R SKY_GROUND_G SKY_GROUND_B DOF_DISPERSION_MULT FLASHLIGHT_BRIGHTNESS_MULT FLASHLIGHT_BRIGHTNESS_FALLOFF_MULT FLASHLIGHT_RANGE FLASHLIGHT_SIZE FLASHLIGHT_R FLASHLIGHT_G FLASHLIGHT_B LOW_HEALTH_EFFECT_START CRITICALLY_LOW_HEALTH_EFFECT_START CloudLayer2_scale CloudLayer0_scale CloudLayer1_scale CloudLayer3_scale CloudLayer0_tallness CloudLayer1_tallness EXPOSURE_DARKENING EXPOSURE_BRIGHTENING VIGNETTE_STRENGTH CURVATURE_AMOUNT MINIMUM_WATER_ABSORBANCE CHROMATIC_ABERRATION_STRENGTH SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps MOTION_BLUR_STRENGTH OVERDRAW_MAX_DISTANCE DAY0_l3_coverage DAY0_l3_density DAY1_l3_coverage DAY1_l3_density DAY2_l3_coverage DAY2_l3_density DAY3_l3_coverage DAY3_l3_density DAY4_l3_coverage DAY4_l3_density DAY5_l3_coverage DAY5_l3_density DAY6_l3_coverage DAY6_l3_density DAY7_l3_coverage DAY7_l3_density DAY8_l3_coverage DAY8_l3_density DAY9_l3_coverage DAY9_l3_density DAY0_l0_coverage DAY0_l1_coverage DAY0_l2_coverage DAY0_ufog_density DAY0_l0_density DAY0_l1_density DAY0_l2_density DAY0_cfog_density DAY1_l0_coverage DAY1_l1_coverage DAY1_l2_coverage DAY1_ufog_density DAY1_l0_density DAY1_l1_density DAY1_l2_density DAY1_cfog_density DAY2_l0_coverage DAY2_l1_coverage DAY2_l2_coverage DAY2_ufog_density DAY2_l0_density DAY2_l1_density DAY2_l2_density DAY2_cfog_density DAY3_l0_coverage DAY3_l1_coverage DAY3_l2_coverage DAY3_ufog_density DAY3_l0_density DAY3_l1_density DAY3_l2_density DAY3_cfog_density DAY4_l0_coverage DAY4_l1_coverage DAY4_l2_coverage DAY4_ufog_density DAY4_l0_density DAY4_l1_density DAY4_l2_density DAY4_cfog_density DAY5_l0_coverage DAY5_l1_coverage DAY5_l2_coverage DAY5_ufog_density DAY5_l0_density DAY5_l1_density DAY5_l2_density DAY5_cfog_density DAY6_l0_coverage DAY6_l1_coverage DAY6_l2_coverage DAY6_ufog_density DAY6_l0_density DAY6_l1_density DAY6_l2_density DAY6_cfog_density DAY7_l0_coverage DAY7_l1_coverage DAY7_l2_coverage DAY7_ufog_density DAY7_l0_density DAY7_l1_density DAY7_l2_density DAY7_cfog_density DAY8_l0_coverage DAY8_l1_coverage DAY8_l2_coverage DAY8_ufog_density DAY8_l0_density DAY8_l1_density DAY8_l2_density DAY8_cfog_density DAY9_l0_coverage DAY9_l1_coverage DAY9_l2_coverage DAY9_ufog_density DAY9_l0_density DAY9_l1_density DAY9_l2_density DAY9_cfog_density sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER DEBUG_VIEW entityShadowDistanceMul HANDHELD_LIGHT_RANGE CLOUD_SHADOW_STRENGTH CloudLayer0_coverage CloudLayer0_density CloudLayer0_height CloudLayer1_coverage CloudLayer1_density CloudLayer1_height CloudLayer2_coverage CloudLayer2_density CloudLayer2_height CloudLayer3_coverage CloudLayer3_density CloudLayer3_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY SWAMP_R SWAMP_G SWAMP_B JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY JUNGLE_R JUNGLE_G JUNGLE_B DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY DARKFOREST_R DARKFOREST_G DARKFOREST_B NETHER_PLUME_DENSITY END_STORM_DENSTIY LIT_PARTICLE_BRIGHTNESS UPPER_CURVE LOWER_CURVE EMISSIVE_TYPE SCALE_FACTOR ambientsss_brightness SSS_TYPE Cloud_Speed Cloud_Speed_Rain Cloud_Speed_Thunder ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_Fog_mult Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Thunder_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size Puddle_Reflection_Strength LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH BLOOM_STRENGTH shadowDistance Sky_BrightnesLine truncated
|
||||
|
||||
screen.columns=2
|
||||
screen = \
|
||||
@@ -360,7 +360,6 @@ SHADER_VERSION_LABEL <profile> \
|
||||
REFRACTION_SMUDGE MINIMUM_WATER_ABSORBANCE \
|
||||
SNELLS_WINDOW Water_Top_Layer \
|
||||
WATER_WAVE_STRENGTH WATER_WAVE_SPEED \
|
||||
WATER_SUN_REFLECTION_STRENGTH <empty>
|
||||
|
||||
screen.Water_fog_color.columns=1
|
||||
screen.Water_fog_color = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B
|
||||
|
||||
Reference in new issue
Block a user