Files
UnrealEngine/Engine/Source/Runtime/Renderer/Private/LightShaftRendering.h
2025-05-18 13:04:45 +08:00

32 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Math/Color.h"
#include "Math/Vector2D.h"
class FViewInfo;
class FLightSceneInfo;
class FLightSceneProxy;
class FSceneViewFamily;
struct FMobileLightShaftInfo
{
FVector2D Center = FVector2D::ZeroVector;
FLinearColor ColorMask = FLinearColor::Transparent;
FLinearColor ColorApply = FLinearColor::Transparent;
float BloomMaxBrightness = 100.0f;
};
// Returns mobile light shaft info for the light.
extern FMobileLightShaftInfo GetMobileLightShaftInfo(const FViewInfo& View, const FLightSceneInfo& LightSceneInfo);
// Returns whether light shafts globally are enabled.
extern bool ShouldRenderLightShafts(const FSceneViewFamily& ViewFamily);
// Returns whether the light proxy is eligible for light shaft rendering. Assumes light shafts are enabled.
extern bool ShouldRenderLightShaftsForLight(const FViewInfo& View, const FLightSceneProxy& LightSceneProxy);
// Returns the current downsample factor for the light shaft render target.
extern int32 GetLightShaftDownsampleFactor();