diff --git a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl index 2fc447a95..01de17b3e 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl @@ -219,10 +219,10 @@ vec3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight) float D = D_GGX(surfaceToLight.NdotH, surface.linearRoughnessSq); vec3 Fr = D * F * Vis; -#if CAPTURING == true - return mix(Fd + Fr,surface.f0,surface.metalness); +#ifdef CAPTURING + return saturate(mix(Fd + Fr,surface.f0,surface.metalness)); #else - return Fd + Fr; + return saturate(Fd + Fr); #endif } diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl index b948eae27..617aa7a3b 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl @@ -220,10 +220,10 @@ float3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight) float D = D_GGX(surfaceToLight.NdotH, surface.linearRoughnessSq); float3 Fr = D * F * Vis; -#if CAPTURING == true - return lerp(Fd + Fr,surface.f0,surface.metalness); +#ifdef CAPTURING + return saturate(lerp(Fd + Fr,surface.f0,surface.metalness)); #else - return Fd + Fr; + return saturate(Fd + Fr); #endif }