mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2024-12-22 09:38:52 +08:00
remove underwater distortion. make AO in sunlight also be on SSS.
This commit is contained in:
parent
82139685d1
commit
f8d1b0b8da
@ -1353,14 +1353,24 @@ void main() {
|
|||||||
float skylight = 1.0;
|
float skylight = 1.0;
|
||||||
|
|
||||||
#if indirect_effect == 0 || indirect_effect == 1 || indirect_effect == 2
|
#if indirect_effect == 0 || indirect_effect == 1 || indirect_effect == 2
|
||||||
float SkylightDir = (slopednormal / dot(abs(slopednormal),vec3(1.0))).y*1.5;
|
// float SkylightDir = (slopednormal / dot(abs(slopednormal),vec3(1.0))).y *1.5;
|
||||||
if(isGrass) SkylightDir = 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
|
#endif
|
||||||
|
|
||||||
#if indirect_effect == 3 || indirect_effect == 4
|
#if indirect_effect == 3 || indirect_effect == 4
|
||||||
@ -1487,7 +1497,7 @@ void main() {
|
|||||||
#ifdef OVERWORLD_SHADER
|
#ifdef OVERWORLD_SHADER
|
||||||
// Direct_lighting = max(shadowColor*NdotL, SSSColor);
|
// Direct_lighting = max(shadowColor*NdotL, SSSColor);
|
||||||
#ifdef AO_in_sunlight
|
#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
|
#else
|
||||||
Direct_lighting = shadowColor*NdotL + SSSColor;
|
Direct_lighting = shadowColor*NdotL + SSSColor;
|
||||||
#endif
|
#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 ;
|
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;
|
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
|
// apply distortion effects for exiting water and under water
|
||||||
|
@ -384,7 +384,7 @@ vec4 GetVolumetricClouds(
|
|||||||
#if defined DISTANT_HORIZONS
|
#if defined DISTANT_HORIZONS
|
||||||
float maxdist = dhFarPlane;
|
float maxdist = dhFarPlane;
|
||||||
#else
|
#else
|
||||||
float maxdist = far + 16*5.0;
|
float maxdist = far*4.0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float lViewPosM = length(viewPos) < maxdist ? length(viewPos) - 1.0 : 100000000.0;
|
float lViewPosM = length(viewPos) < maxdist ? length(viewPos) - 1.0 : 100000000.0;
|
||||||
|
Loading…
Reference in New Issue
Block a user