fix skylight in water under caves, fix tiny bloomy fog issue

This commit is contained in:
Xonk
2023-06-22 13:29:02 -04:00
parent ea87379139
commit 31af0de256
4 changed files with 48 additions and 14 deletions

View File

@ -7,26 +7,26 @@ vec3 DoAmbientLighting (vec3 SkyColor, vec3 TorchColor, vec2 Lightmap, float sky
// Lightmap.y = 1.0;
// old torchlight curves
// vec3 TorchLight = TorchColor * pow(1.0-pow(1.0-clamp(Lightmap.x,0.0,1.0) ,0.1),2);
// TorchLight = clamp(exp(TorchLight * 30) - 1.0,0.0,5.0);
// TorchLight *= TORCH_AMOUNT;
// SkyColor = SkyColor * 2.0 * ambient_brightness;
// vec3 SkyLight = max((SkyColor * 8./150./3.) * min(pow(Lightmap.y,3.0),1.0) , vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01)) ;
float TorchLM = 10.0 - ( 1.0 / (pow(exp(-0.5*inversesqrt(Lightmap.x)),5.0)+0.1));
TorchLM = pow(TorchLM/4,10) + pow(Lightmap.x,1.5)*0.5; //pow(TorchLM/4.5,10)*2.5 + pow(Lightmap.x,1.5)*0.5;
vec3 TorchLight = TorchColor * TorchLM * 0.75;
TorchLight *= TORCH_AMOUNT;
float skyLM = 10.0 - ( 1.0 / (pow(exp(-0.5*inversesqrt(Lightmap.y)),5.0)+0.1));
skyLM = pow(skyLM/4,10) + pow(Lightmap.y,1.5)*0.5;
// old skylight curves
// SkyColor = (SkyColor * 2.0 * ambient_brightness) * 8./150./3.;
// vec3 SkyLight = max(SkyColor * min(pow(Lightmap.y,3.0),1.0), vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01)) ;
SkyColor = SkyColor * ambient_brightness;
vec3 SkyLight = max((SkyColor * skyLM * 0.75) * 8./150./3., vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01));
SkyColor = (SkyColor * 2.0 * ambient_brightness) * 8./150./3.;
float skyLM = (pow(Lightmap.y,15.0)*2.0 + pow(Lightmap.y,2.5)*0.5)*0.5;
vec3 SkyLight = max(SkyColor * skyLM, vec3(0.2,0.4,1.0) * (MIN_LIGHT_AMOUNT*0.01));
return SkyLight * skyLightDir + TorchLight;
}