mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2024-12-22 17:47:34 +08:00
remove underwater distortion. make AO in sunlight also be on SSS.
This commit is contained in:
parent
296168cd25
commit
9145d19e46
@ -1353,14 +1353,24 @@ void main() {
|
||||
float skylight = 1.0;
|
||||
|
||||
#if indirect_effect == 0 || indirect_effect == 1 || indirect_effect == 2
|
||||
float SkylightDir = (slopednormal / dot(abs(slopednormal),vec3(1.0))).y*1.5;
|
||||
if(isGrass) SkylightDir = 1.5;
|
||||
// float SkylightDir = (slopednormal / dot(abs(slopednormal),vec3(1.0))).y *1.5;
|
||||
// if(isGrass) SkylightDir = 1.5;
|
||||
|
||||
skylight = max(pow((FlatNormals).y*0.5+0.5,0.1) + SkylightDir, 0.2 + (1-lightmap.y)*0.8);
|
||||
// skylight = max(pow((FlatNormals).y*0.5+0.5,0.1) + SkylightDir, 0.2 + (1-lightmap.y)*0.8);
|
||||
|
||||
// #if indirect_effect == 1
|
||||
// skylight = min(skylight, mix(0.95, 2.5, pow(1-pow(1-SSAO_SSS.x, 0.5),2.0) ));
|
||||
// #endif
|
||||
|
||||
float SkylightDir = (slopednormal / dot(abs(slopednormal),vec3(1.0))).y;
|
||||
|
||||
if(isGrass) SkylightDir = 1.0;
|
||||
|
||||
SkylightDir = clamp(SkylightDir*0.7+0.3, 0.0, pow(1-pow(1-SSAO_SSS.x, 0.5),2.0) * 0.7 + 0.3);
|
||||
|
||||
|
||||
skylight = mix(0.2 + 2.3*(1.0-lightmap.y), 2.5, SkylightDir);
|
||||
|
||||
#if indirect_effect == 1
|
||||
skylight = min(skylight, mix(0.95, 2.5, pow(1-pow(1-SSAO_SSS.x, 0.5),2.0) ));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if indirect_effect == 3 || indirect_effect == 4
|
||||
@ -1487,7 +1497,7 @@ void main() {
|
||||
#ifdef OVERWORLD_SHADER
|
||||
// Direct_lighting = max(shadowColor*NdotL, SSSColor);
|
||||
#ifdef AO_in_sunlight
|
||||
Direct_lighting = shadowColor*NdotL*(AO*0.7+0.3) + SSSColor;
|
||||
Direct_lighting = (shadowColor*NdotL + SSSColor) * (AO*0.7+0.3);
|
||||
#else
|
||||
Direct_lighting = shadowColor*NdotL + SSSColor;
|
||||
#endif
|
||||
|
@ -68,7 +68,7 @@ void applyGameplayEffects(inout vec3 color, in vec2 texcoord, float noise){
|
||||
|
||||
|
||||
float waterDrops = texture2D(noisetex, (texcoord - vec2(0.0, scale.z)) * scale.xy).r ;
|
||||
if(isEyeInWater == 1) waterDrops = waterDrops*waterDrops * 0.3;
|
||||
if(isEyeInWater == 1) waterDrops = 0.0;
|
||||
if(isEyeInWater == 0 && exitWater > 0.0) waterDrops = sqrt(min(max(waterDrops - (1.0-sqrt(exitWater))*0.7,0.0) * (1.0 + exitWater),1.0)) * 0.3;
|
||||
|
||||
// apply distortion effects for exiting water and under water
|
||||
|
@ -384,7 +384,7 @@ vec4 GetVolumetricClouds(
|
||||
#if defined DISTANT_HORIZONS
|
||||
float maxdist = dhFarPlane;
|
||||
#else
|
||||
float maxdist = far + 16*5.0;
|
||||
float maxdist = far*4.0;
|
||||
#endif
|
||||
|
||||
float lViewPosM = length(viewPos) < maxdist ? length(viewPos) - 1.0 : 100000000.0;
|
||||
|
Loading…
Reference in New Issue
Block a user