add moonphases that alter the brightness of night. tweak torch and sky lightmap curves a bit

This commit is contained in:
Xonk
2023-06-19 23:32:39 -04:00
parent 7eb49cd12c
commit cb404760be
10 changed files with 79 additions and 38 deletions

View File

@ -6,15 +6,25 @@ vec3 DoAmbientLighting (vec3 SkyColor, vec3 TorchColor, vec2 Lightmap, float sky
// Lightmap.x = 0.0;
// Lightmap.y = 1.0;
SkyColor = SkyColor * 2.0 * ambient_brightness;
// 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;
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);
// 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;
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)) ;
// vec3 SkyLight = max((SkyColor * 8./150./3.) * pow(Lightmap.y,3.0),0.0) ;
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;
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));
return SkyLight * skyLightDir + TorchLight;