vec3 moonlight = mix(vec3(0.8, 1.1, 1.4) * 0.7,vec3(0.6,0.63,0.7),rainStrength);
vec3 sunlightColor(in float SdotU){
	float dayCool = smoothstep(0.35, 0.90, SdotU);
	vec3 warmSun = normalize(vec3(0.58597,0.23,0.01));
	vec3 lateDaySun = normalize(vec3(0.58597,0.58,0.58));
	vec3 coolWhiteSun = normalize(vec3(0.86,0.98,1.18));
	return mix(mix(warmSun, lateDaySun, pow(clamp(SdotU*1.1-0.1,0.,0.75),0.7)), coolWhiteSun, dayCool);
}
vec3 sunlightColorRain(in vec3 sunlight, in float rainStrength){
	const vec3 rainC = vec3(0.01,0.01,0.01);
	return mix(sunlight,rainC*sunlight,rainStrength);
}
float sunIntensity(in float SdotU){
	return max(exp(SdotU)-0.95,0.);
}
float moonIntensity(in float SdotU){
	return clamp(exp(-SdotU)-0.95,0.,0.5);
}