mirror of
https://github.com/Merlin1809/Eclipse-Shader.git
synced 2026-10-10 04:53:07 +08:00
Add Shader Grass randomness strength setting, add handheld shadows quality setting, add seperate thunder ambient light color settings, fix Purkinje effect not working correctly, (hopefully) fix shader grass flicker on AMD, make rain ambient light brighter, fix compile error in end
This commit is contained in:
@@ -116,7 +116,21 @@ vec3 calculateNormal(vec3 v0, vec3 v1, vec3 v2) {
|
||||
return normalize(vec3(normal.x, normal.y, normal.z));
|
||||
}
|
||||
|
||||
float rand(vec2 co) { return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); }
|
||||
float rand(vec2 co) {
|
||||
vec2 i = floor(co);
|
||||
vec2 f = fract(co);
|
||||
|
||||
float a = fract(sin(dot(i, vec2(12.9898, 78.233))) * 43758.5453);
|
||||
float b = fract(sin(dot(i + vec2(0.06, 0.0), vec2(12.9898, 78.233))) * 43758.5453);
|
||||
float c = fract(sin(dot(i + vec2(0.0, 0.13), vec2(12.9898, 78.233))) * 43758.5453);
|
||||
float d = fract(sin(dot(i + vec2(0.16, 0.1), vec2(12.9898, 78.233))) * 43758.5453);
|
||||
|
||||
f = f * f * (3.0 - 2.0 * f);
|
||||
|
||||
float ab = mix(a, b, f.x);
|
||||
float cd = mix(c, d, f.x);
|
||||
return mix(ab, cd, f.y);
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -263,9 +277,9 @@ void main() {
|
||||
vec2 Wvertex = gl_in[0].gl_Position.xz+cameraPosition.xz;
|
||||
|
||||
// otherwise it flickers... (but this gives a little clumping effect so it's nice too I guess)
|
||||
Wvertex = floor(Wvertex * 20.0) / 20.0;
|
||||
Wvertex = floor(Wvertex * 25.0) / 25.0;
|
||||
|
||||
vec2 randomDir = 2.0*vec2(rand(vec2(Wvertex.x, 2.*Wvertex.y)), rand(2.125*vec2(-Wvertex.x, 2.*Wvertex.y)))-1.0;
|
||||
vec2 randomDir = 2.0*vec2(rand(10.0*vec2(Wvertex.x, 2.*Wvertex.y)), rand(20.0*vec2(-Wvertex.x, 2.*Wvertex.y)))-1.0;
|
||||
// vertex.xz -= 0.05*randomDir;
|
||||
|
||||
|
||||
@@ -317,7 +331,7 @@ void main() {
|
||||
|
||||
vec3 verticies[3];
|
||||
|
||||
vec2 totalRandBend = 0.35*randomDir + edgeBlend;
|
||||
vec2 totalRandBend = GRASS_RANDOMNESS*randomDir + edgeBlend;
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "/lib/settings.glsl"
|
||||
|
||||
#ifdef CUSTOM_MOON_ROTATION
|
||||
#if defined CUSTOM_MOON_ROTATION || (defined END_SHADER && defined END_ISLAND_LIGHT)
|
||||
#include "/lib/SSBOs.glsl"
|
||||
#endif
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@ float mixhistory = 0.06;
|
||||
/// --- STORE COLOR LUT --- ///
|
||||
///////////////////////////////
|
||||
#ifdef SeparateAmbientColorRain
|
||||
vec3 AmbientLightTint = mix(vec3(AmbientLight_R, AmbientLight_G, AmbientLight_B), vec3(AmbientLightRain_R, AmbientLightRain_G, AmbientLightRain_B), rainStrength*noPuddleAreas);
|
||||
vec3 AmbientLightTint = mix(vec3(AmbientLight_R, AmbientLight_G, AmbientLight_B), mix(vec3(AmbientLightRain_R, AmbientLightRain_G, AmbientLightRain_B), vec3(AmbientLightThunder_R, AmbientLightThunder_G, AmbientLightThunder_B), thunderStrength), rainStrength*noPuddleAreas);
|
||||
#else
|
||||
vec3 AmbientLightTint = vec3(AmbientLight_R, AmbientLight_G, AmbientLight_B);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "/lib/settings.glsl"
|
||||
|
||||
#ifdef CUSTOM_MOON_ROTATION
|
||||
#if defined CUSTOM_MOON_ROTATION || (defined END_SHADER && defined END_ISLAND_LIGHT)
|
||||
#include "/lib/SSBOs.glsl"
|
||||
#endif
|
||||
|
||||
|
||||
+15
-8
@@ -1,6 +1,6 @@
|
||||
option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit
|
||||
prefix.SHADER_VERSION_LABEL = V
|
||||
value.SHADER_VERSION_LABEL.482 = 4.1.2
|
||||
value.SHADER_VERSION_LABEL.482 = 4.2.0
|
||||
|
||||
# if you're here to translate, this is not a joke, these do what they say
|
||||
profile.POTATO=§4Potato
|
||||
@@ -136,6 +136,7 @@ screen.Foliage = Foliage
|
||||
value.GRASS_QUALITY.2 = High
|
||||
option.GRASS_RANGE = Grass Maximum Range
|
||||
option.GRASS_WAVY_STRENGTH = Grass Waving Strength
|
||||
option.GRASS_RANDOMNESS = Grass Randomness Strength
|
||||
|
||||
screen.Direct_Light = Direct Light
|
||||
screen.Shadows = Shadows
|
||||
@@ -240,6 +241,9 @@ screen.Direct_Light = Direct Light
|
||||
option.VANILLA_LIGHTMAP_MASK = Vanilla Lightmap Mask
|
||||
option.LPV_HANDHELD_SHADOWS = Handheld Shadows
|
||||
option.LPV_HANDHELD_SHADOWS_STRENGTH = Handheld Shadows Strength
|
||||
option.LPV_HANDHELD_SHADOWS_QUALITY = Handheld Shadows Quality
|
||||
value.LPV_HANDHELD_SHADOWS_QUALITY.0 = Low
|
||||
value.LPV_HANDHELD_SHADOWS_QUALITY.1 = High
|
||||
|
||||
|
||||
screen.Ambient_light = Ambient Light
|
||||
@@ -270,13 +274,16 @@ screen.Ambient_light = Ambient Light
|
||||
option.AmbientLight_R = Red Amount
|
||||
option.AmbientLight_G = Green Amount
|
||||
option.AmbientLight_B = Blue Amount
|
||||
option.SeparateAmbientColorRain = Separate Ambient Light Color during Rain
|
||||
option.AmbientLightRain_R = Red Amount (Rain)
|
||||
option.AmbientLightRain_G = Green Amount (Rain)
|
||||
option.AmbientLightRain_B = Blue Amount (Rain)
|
||||
option.AmbientLightEnd_R = Red Amount (End)
|
||||
option.AmbientLightEnd_G = Green Amount (End)
|
||||
option.AmbientLightEnd_B = Blue Amount (End)
|
||||
option.SeparateAmbientColorRain = Separate Ambient Light Color during Rain/Thunder
|
||||
option.AmbientLightRain_R = Red (Rain)
|
||||
option.AmbientLightRain_G = Green (Rain)
|
||||
option.AmbientLightRain_B = Blue (Rain)
|
||||
option.AmbientLightThunder_R = Red (Thunder)
|
||||
option.AmbientLightThunder_G = Green (Thunder)
|
||||
option.AmbientLightThunder_B = Blue (Thunder)
|
||||
option.AmbientLightEnd_R = Red (End)
|
||||
option.AmbientLightEnd_G = Green (End)
|
||||
option.AmbientLightEnd_B = Blue (End)
|
||||
option.ambient_colortype = Coloring Type
|
||||
value.ambient_colortype.0 = Temperature
|
||||
value.ambient_colortype.1 = RGB
|
||||
|
||||
@@ -13,7 +13,13 @@
|
||||
NdotL = smoothstep(0.0, 0.2, abs(NdotL));
|
||||
|
||||
float shadows = 1.0;
|
||||
float samples = 10.0;
|
||||
#if LPV_HANDHELD_SHADOWS_QUALITY == 0
|
||||
float samples = 10.0;
|
||||
float div = 0.0015;
|
||||
#else
|
||||
float samples = 20.0;
|
||||
float div = 0.0005;
|
||||
#endif
|
||||
|
||||
float _near = near; float _far = far*4.0;
|
||||
|
||||
@@ -28,7 +34,7 @@
|
||||
float rayLength = ((viewPos.z + lightDir.z * _far * sqrt(3.)) > -_near) ? (-_near - viewPos.z) / lightDir.z : _far * sqrt(3.);
|
||||
|
||||
vec3 direction = toClipSpace3_DH(viewPos + lightDir*rayLength, depthCheck) - position;
|
||||
direction.xyz = direction.xyz / max(max(abs(direction.x)/0.0015, abs(direction.y)/0.0015),400.0); //fixed step size
|
||||
direction.xyz = direction.xyz / max(max(abs(direction.x)/div, abs(direction.y)/div),400.0); //fixed step size
|
||||
direction *= 6.0;
|
||||
|
||||
position.xy *= RENDER_SCALE;
|
||||
|
||||
@@ -94,9 +94,13 @@ const float WATER_SIM_FRAMETIME = 1.0/float(WATER_SIM_FRAMERATE);
|
||||
#define AmbientLight_B 1.0 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
|
||||
#define SeparateAmbientColorRain
|
||||
#define AmbientLightRain_R 0.15 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightRain_G 0.15 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightRain_B 0.125 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightRain_R 0.5 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightRain_G 0.5 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightRain_B 0.4 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
|
||||
#define AmbientLightThunder_R 0.25 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightThunder_G 0.25 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightThunder_B 0.2 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
|
||||
#define AmbientLightEnd_R 0.3 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
#define AmbientLightEnd_G 0.35 // [0.0 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.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
|
||||
@@ -727,8 +731,7 @@ const vec3 HIGHLIGHTS_TARGET = length(vec3(HIGHLIGHTS_GRADE_R, HIGHLIGHTS_GRADE_
|
||||
#define EXPOSURE_DARKENING 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]
|
||||
#define EXPOSURE_BRIGHTENING 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]
|
||||
|
||||
#define Fake_purkinje
|
||||
#define Purkinje_strength 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]
|
||||
#define Purkinje_strength 100 // [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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100]
|
||||
#define Purkinje_R 0.4 // [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]
|
||||
#define Purkinje_G 0.7 // [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]
|
||||
#define Purkinje_B 1.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]
|
||||
@@ -972,6 +975,8 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
|
||||
#define GRASS_RANGE 40.0 // [10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 60.0 70.0 80.0 90.0 100.0]
|
||||
#define GRASS_WAVY_STRENGTH 1.0 // [0.1 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0]
|
||||
|
||||
#define GRASS_RANDOMNESS 0.5 // [0.0 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]
|
||||
|
||||
///////////////////////////////////////////
|
||||
// ----- DISTANT HORIZONS SETTINGS ----- //
|
||||
///////////////////////////////////////////
|
||||
@@ -1015,9 +1020,7 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
|
||||
#define LPV_REDSTONE_LIGHTS
|
||||
//#define LPV_COLORED_CANDLES
|
||||
#define LPV_VL_FOG_ILLUMINATION 1 // [0 1 2]
|
||||
#define LPV_VL_FOG_ILLUMINATION_BRIGHTNESS 100 // [0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200]]
|
||||
// #define LPV_VL_FOG_ILLUMINATION_NETHER
|
||||
// #define LPV_VL_FOG_ILLUMINATION_END
|
||||
#define LPV_VL_FOG_ILLUMINATION_BRIGHTNESS 60 // [0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200]]
|
||||
|
||||
// Fix for making nether/end work until next Iris release to fix shadow matrices
|
||||
//#define LPV_NOSHADOW_HACK
|
||||
@@ -1041,6 +1044,7 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
|
||||
|
||||
#define LPV_HANDHELD_SHADOWS
|
||||
#define LPV_HANDHELD_SHADOWS_STRENGTH 0.95 // [0.75 0.775 0.8 0.825 0.85 0.875 0.9 0.925 0.95 0.975 1.0]
|
||||
#define LPV_HANDHELD_SHADOWS_QUALITY 0 // [0 1]
|
||||
|
||||
#ifdef LPV_HANDHELD_SHADOWS
|
||||
#endif
|
||||
|
||||
+24
-16
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user