+ | New file for volumetric

This commit is contained in:
TheRedShip
2025-01-14 10:27:06 +01:00
parent 1d3627000d
commit 95098711f7
4 changed files with 120 additions and 101 deletions

View File

@ -35,22 +35,3 @@ vec3 randomHemisphereDirection(vec3 normal, inout uint rng_state)
vec3 direction = randomDirection(rng_state);
return (direction * sign(dot(normal, direction)));
}
vec3 GetEnvironmentLight(Ray ray)
{
vec3 sun_pos = vec3(-1., 1.0, 0.);
float SunFocus = 1.5;
float SunIntensity = 0.5;
vec3 GroundColour = vec3(0.5, 0.5, 0.5);
vec3 SkyColourHorizon = vec3(135 / 255.0f, 206 / 255.0f, 235 / 255.0f);
vec3 SkyColourZenith = SkyColourHorizon / 2.0;
float skyGradientT = pow(smoothstep(0.0, 0.4, ray.direction.y), 0.35);
float groundToSkyT = smoothstep(-0.01, 0.0, ray.direction.y);
vec3 skyGradient = mix(SkyColourHorizon, SkyColourZenith, skyGradientT);
float sun = pow(max(0, dot(ray.direction, sun_pos.xyz)), SunFocus) * SunIntensity;
// Combine ground, sky, and sun
vec3 composite = mix(GroundColour, skyGradient, groundToSkyT) + sun * int(groundToSkyT >= 1);
return composite;
}