Add smooth light brightness fade out at last 10% of ViewDistance (if used)

This commit is contained in:
Wojtek Figat
2024-08-12 18:32:33 +02:00
parent f025f923ae
commit 596ad18ce3
4 changed files with 20 additions and 7 deletions

View File

@@ -82,13 +82,13 @@ void PointLight::Draw(RenderContext& renderContext)
{
float brightness = ComputeBrightness();
AdjustBrightness(renderContext.View, brightness);
const Float3 position = GetPosition() - renderContext.View.Origin;
Float3 position;
const float radius = GetScaledRadius();
if (EnumHasAnyFlags(renderContext.View.Flags, ViewFlags::PointLights)
&& EnumHasAnyFlags(renderContext.View.Pass, DrawPass::GBuffer)
&& brightness > ZeroTolerance
&& radius > ZeroTolerance
&& (ViewDistance < ZeroTolerance || Vector3::DistanceSquared(renderContext.View.Position, position) < ViewDistance * ViewDistance))
&& CheckViewDistance(renderContext.View.Position, renderContext.View.Origin, position, brightness))
{
RenderPointLightData data;
data.Position = position;