UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FLightSceneProxy Class Reference

#include <LightSceneProxy.h>

+ Inheritance diagram for FLightSceneProxy:

Public Member Functions

ENGINE_API FLightSceneProxy (const ULightComponent *InLightComponent)
 
virtual ENGINE_API ~FLightSceneProxy ()
 
virtual bool AffectsBounds (const FBoxSphereBounds &Bounds) const
 
ENGINE_API void SetLightFunctionMaterial_GameThread (const ULightComponent *Component)
 
ENGINE_API void SetTransmission_GameThread (const ULightComponent *Component)
 
virtual ENGINE_API FSphere GetBoundingSphere () const
 
virtual float GetRadius () const
 
virtual float GetOuterConeAngle () const
 
virtual float GetSourceRadius () const
 
virtual bool IsInverseSquared () const
 
virtual bool IsRectLight () const
 
virtual bool IsLocalLight () const
 
virtual bool HasSourceTexture () const
 
virtual float GetLightSourceAngle () const
 
virtual float GetShadowSourceAngleFactor () const
 
virtual float GetTraceDistance () const
 
virtual float GetEffectiveScreenRadius (const FViewMatrices &ShadowViewMatrices, const FIntPoint &CameraViewRectSize) const
 
 UE_DEPRECATED (5.1, "The GetEffectiveScreenRadius() that uses the screen-percentage scaled view rect (above) is used now.") virtual float GetEffectiveScreenRadius(const FViewMatrices &ShadowViewMatrices) const
 
virtual void GetLightShaderParameters (FLightRenderParameters &OutLightParameters, uint32 Flags=0) const
 
virtual FVector2D GetDirectionalLightDistanceFadeParameters (ERHIFeatureLevel::Type InFeatureLevel, bool bPrecomputedLightingIsValid, int32 MaxNearCascades) const
 
virtual int32 GetDirectionalLightForwardShadingPriority () const
 
virtual bool GetLightShaftOcclusionParameters (float &OutOcclusionMaskDarkness, float &OutOcclusionDepthRange) const
 
virtual FVector GetLightPositionForLightShafts (FVector ViewOrigin) const
 
virtual bool GetWholeSceneProjectedShadowInitializer (const FSceneViewFamily &ViewFamily, TArray< FWholeSceneProjectedShadowInitializer, TInlineAllocator< 6 > > &OutInitializers) const
 
virtual ENGINE_API bool ShouldCreatePerObjectShadowsForDynamicObjects () const
 
virtual ENGINE_API bool UseCSMForDynamicObjects () const
 
float GetVSMTexelDitherScale () const
 
float GetVSMResolutionLodBias () const
 
virtual uint32 GetNumViewDependentWholeSceneShadows (const FSceneView &View, bool bPrecomputedLightingIsValid) const
 
virtual bool GetViewDependentWholeSceneProjectedShadowInitializer (const FSceneView &View, int32 InCascadeIndex, bool bPrecomputedLightingIsValid, FWholeSceneProjectedShadowInitializer &OutInitializer) const
 
virtual bool GetPerObjectProjectedShadowInitializer (const FBoxSphereBounds &SubjectBounds, FPerObjectProjectedShadowInitializer &OutInitializer) const
 
virtual FSphere GetShadowSplitBounds (const FSceneView &View, int32 InCascadeIndex, bool bPrecomputedLightingIsValid, FShadowCascadeSettings *OutCascadeSettings) const
 
virtual FSphere GetShadowSplitBoundsDepthRange (const FSceneView &View, FVector ViewOrigin, float SplitNear, float SplitFar, FShadowCascadeSettings *OutCascadeSettings) const
 
virtual ENGINE_API bool GetScissorRect (FIntRect &ScissorRect, const FSceneView &View, const FIntRect &ViewRect) const
 
virtual bool SetScissorRect (FRHICommandList &RHICmdList, const FSceneView &View, const FIntRect &ViewRect, FIntRect *OutScissorRect=nullptr) const
 
virtual bool ShouldCreateRayTracedCascade (ERHIFeatureLevel::Type Type, bool bPrecomputedLightingIsValid, int32 MaxNearCascades) const
 
float GetUserShadowBias () const
 
float GetUserShadowSlopeBias () const
 
const ULightComponentGetLightComponent () const
 
FSceneInterfaceGetSceneInterface () const
 
FLightSceneInfoGetLightSceneInfo () const
 
const FMatrixGetWorldToLight () const
 
const FMatrixGetLightToWorld () const
 
FVector GetDirection () const
 
FVector GetOrigin () const
 
FVector4 GetPosition () const
 
const FLinearColorGetColor () const
 
float GetIndirectLightingScale () const
 
float GetVolumetricScatteringIntensity () const
 
float GetRayEndBias () const
 
float GetShadowResolutionScale () const
 
FGuid GetLightGuid () const
 
float GetShadowSharpen () const
 
float GetContactShadowLength () const
 
bool IsContactShadowLengthInWS () const
 
float GetContactShadowCastingIntensity () const
 
float GetContactShadowNonCastingIntensity () const
 
float GetSpecularScale () const
 
float GetDiffuseScale () const
 
FVector GetLightFunctionScale () const
 
float GetLightFunctionFadeDistance () const
 
float GetLightFunctionDisabledBrightness () const
 
UTextureLightProfileGetIESTexture () const
 
ENGINE_API FTextureGetIESTextureResource () const
 
const FMaterialRenderProxyGetLightFunctionMaterial () const
 
bool IsMovable () const
 
bool HasStaticLighting () const
 
bool HasStaticShadowing () const
 
bool CastsDynamicShadow () const
 
bool CastsStaticShadow () const
 
bool AllowMegaLights () const
 
TEnumAsByte< EMegaLightsShadowMethod::TypeGetMegaLightsShadowMethod () const
 
bool CastsTranslucentShadows () const
 
bool CastsVolumetricShadow () const
 
bool CastsHairStrandsDeepShadow () const
 
TEnumAsByte< ECastRayTracedShadow::TypeCastsRaytracedShadow () const
 
bool AffectReflection () const
 
bool AffectGlobalIllumination () const
 
bool CastsShadowsFromCinematicObjectsOnly () const
 
bool CastsModulatedShadows () const
 
const FLinearColorGetModulatedShadowColor () const
 
const float GetShadowAmount () const
 
bool AffectsTranslucentLighting () const
 
bool Transmission () const
 
bool UseRayTracedDistanceFieldShadows () const
 
bool UseVirtualShadowMaps () const
 
float GetRayStartOffsetDepthScale () const
 
uint8 GetLightType () const
 
uint8 GetLightingChannelMask () const
 
uint8 GetViewLightingChannelMask () const
 
FName GetComponentFName () const
 
bool IsSelected () const
 
void SetSelected (bool bNewSelected)
 
FString GetOwnerNameOrLabel () const
 
FName GetLevelName () const
 
TStatId GetStatId () const
 
int32 GetShadowMapChannel () const
 
int32 GetPreviewShadowMapChannel () const
 
const class FStaticShadowDepthMapGetStaticShadowDepthMap () const
 
bool GetForceCachedShadowsForMovablePrimitives () const
 
uint32 GetSamplesPerPixel () const
 
float GetDeepShadowLayerDistribution () const
 
virtual ENGINE_API void ApplyWorldOffset (FVector InOffset)
 
virtual float GetMaxDrawDistance () const
 
virtual float GetFadeRange () const
 
bool IsUsedAsAtmosphereSunLight () const
 
uint8 GetAtmosphereSunLightIndex () const
 
FLinearColor GetAtmosphereSunDiskColorScale () const
 
virtual void SetAtmosphereRelatedProperties (FLinearColor TransmittanceTowardSunIn, FLinearColor SunDiscOuterSpaceLuminanceIn)
 
virtual FLinearColor GetOuterSpaceLuminance () const
 
virtual FLinearColor GetOuterSpaceIlluminance () const
 
virtual FLinearColor GetAtmosphereTransmittanceTowardSun () const
 
virtual FLinearColor GetSunIlluminanceOnGroundPostTransmittance () const
 
virtual FLinearColor GetSunIlluminanceAccountingForSkyAtmospherePerPixelTransmittance () const
 
virtual bool GetPerPixelTransmittanceEnabled () const
 
virtual float GetSunLightHalfApexAngleRadian () const
 
virtual bool GetCastShadowsOnClouds () const
 
virtual bool GetCastShadowsOnAtmosphere () const
 
virtual bool GetCastCloudShadows () const
 
virtual float GetCloudShadowExtent () const
 
virtual float GetCloudShadowMapResolutionScale () const
 
virtual float GetCloudShadowRaySampleCountScale () const
 
virtual float GetCloudShadowStrength () const
 
virtual float GetCloudShadowOnAtmosphereStrength () const
 
virtual float GetCloudShadowOnSurfaceStrength () const
 
virtual float GetCloudShadowDepthBias () const
 
virtual FLinearColor GetCloudScatteredLuminanceScale () const
 
virtual bool GetUsePerPixelAtmosphereTransmittance () const
 
void SetLightFunctionAtlasIndices (uint8 LightIndex)
 
bool HasValidLightFunctionAtlasSlot () const
 
uint8 GetLightFunctionAtlasLightIndex () const
 
- Public Member Functions inherited from FLightSceneProxyFixLayout
virtual ~FLightSceneProxyFixLayout ()=default
 

Static Public Member Functions

static float GetSunOnEarthHalfApexAngleRadian ()
 

Protected Member Functions

ENGINE_API void SetTransform (const FMatrix &InLightToWorld, const FVector4 &InPosition)
 
ENGINE_API void SetColor (const FLinearColor &InColor)
 

Protected Attributes

const ULightComponentLightComponent
 
FSceneInterfaceSceneInterface
 
class FLightSceneInfoLightSceneInfo
 
FVector4 Position
 
FLinearColor Color
 
FMatrix WorldToLight
 
FMatrix LightToWorld
 
float IndirectLightingScale
 
float VolumetricScatteringIntensity
 
float RayEndBias
 
float ShadowResolutionScale
 
float ShadowBias
 
float ShadowSlopeBias
 
float ShadowSharpen
 
float ContactShadowLength
 
float ContactShadowCastingIntensity
 
float ContactShadowNonCastingIntensity
 
float SpecularScale
 
float DiffuseScale
 
FGuid LightGuid
 
int32 ShadowMapChannel
 
int32 PreviewShadowMapChannel
 
float RayStartOffsetDepthScale
 
const class FStaticShadowDepthMapStaticShadowDepthMap
 
FVector LightFunctionScale
 
float LightFunctionFadeDistance
 
float LightFunctionDisabledBrightness
 
const FMaterialRenderProxyLightFunctionMaterial
 
UTextureLightProfileIESTexture
 
uint8 bContactShadowLengthInWS: 1
 
const uint8 bMovable: 1
 
const uint8 bStaticLighting: 1
 
uint8 bStaticShadowing: 1
 
uint8 bCastDynamicShadow: 1
 
const uint8 bCastStaticShadow: 1
 
const uint8 bCastTranslucentShadows: 1
 
uint8 bTransmission: 1
 
const uint8 bCastVolumetricShadow: 1
 
const uint8 bCastHairStrandsDeepShadow: 1
 
const uint8 bCastShadowsFromCinematicObjectsOnly: 1
 
const uint8 bForceCachedShadowsForMovablePrimitives: 1
 
const TEnumAsByte< ECastRayTracedShadow::TypeCastRaytracedShadow
 
const uint8 bAffectReflection: 1
 
const uint8 bAffectGlobalIllumination: 1
 
const uint8 bAffectTranslucentLighting: 1
 
const uint8 bUsedAsAtmosphereSunLight: 1
 
const uint8 bUseRayTracedDistanceFieldShadows: 1
 
uint8 bUseVirtualShadowMaps: 1
 
uint8 bCastModulatedShadows: 1
 
uint8 bUseWholeSceneCSMForMovableObjects: 1
 
uint8 bSelected: 1
 
const uint8 bAllowMegaLights: 1
 
const TEnumAsByte< EMegaLightsShadowMethod::TypeMegaLightsShadowMethod
 
uint8 LightFunctionAtlasLightIndex
 
const uint8 AtmosphereSunLightIndex
 
FLinearColor AtmosphereSunDiskColorScale
 
const uint8 LightType
 
uint8 LightingChannelMask
 
uint8 ViewLightingChannelMask
 
TStatId StatId
 
FName ComponentName
 
FName LevelName
 
float VSMTexelDitherScale
 
float VSMResolutionLodBias
 
float FarShadowDistance
 
uint32 FarShadowCascadeCount
 
FLinearColor ModulatedShadowColor
 
float ShadowAmount
 
uint32 SamplesPerPixel
 
float DeepShadowLayerDistribution
 
uint32 IESAtlasId
 

Friends

class FScene
 
class FLightSceneInfo
 

Detailed Description

Encapsulates the data which is used to render a light by the rendering thread. The constructor is called from the game thread, and after that the rendering thread owns the object. FLightSceneProxy is in the engine module and is subclassed to implement various types of lights.

Constructor & Destructor Documentation

◆ FLightSceneProxy()

FLightSceneProxy::FLightSceneProxy ( const ULightComponent InLightComponent)

Initialization constructor.

◆ ~FLightSceneProxy()

FLightSceneProxy::~FLightSceneProxy ( )
virtualdefault

Member Function Documentation

◆ AffectGlobalIllumination()

bool FLightSceneProxy::AffectGlobalIllumination ( ) const
inline

◆ AffectReflection()

bool FLightSceneProxy::AffectReflection ( ) const
inline

◆ AffectsBounds()

virtual bool FLightSceneProxy::AffectsBounds ( const FBoxSphereBounds Bounds) const
inlinevirtual

Tests whether the light affects the given bounding volume.

Parameters
Bounds- The bounding volume to test.
Returns
True if the light affects the bounding volume

Reimplemented in FSpotLightSceneProxy, and FLocalLightSceneProxy.

◆ AffectsTranslucentLighting()

bool FLightSceneProxy::AffectsTranslucentLighting ( ) const
inline

◆ AllowMegaLights()

bool FLightSceneProxy::AllowMegaLights ( ) const
inline

◆ ApplyWorldOffset()

void FLightSceneProxy::ApplyWorldOffset ( FVector  InOffset)
virtual

Shifts light position and all relevant data by an arbitrary delta. Called on world origin changes

Parameters
InOffset- The delta to shift by

◆ CastsDynamicShadow()

bool FLightSceneProxy::CastsDynamicShadow ( ) const
inline

◆ CastsHairStrandsDeepShadow()

bool FLightSceneProxy::CastsHairStrandsDeepShadow ( ) const
inline

◆ CastsModulatedShadows()

bool FLightSceneProxy::CastsModulatedShadows ( ) const
inline

◆ CastsRaytracedShadow()

TEnumAsByte< ECastRayTracedShadow::Type > FLightSceneProxy::CastsRaytracedShadow ( ) const
inline

◆ CastsShadowsFromCinematicObjectsOnly()

bool FLightSceneProxy::CastsShadowsFromCinematicObjectsOnly ( ) const
inline

◆ CastsStaticShadow()

bool FLightSceneProxy::CastsStaticShadow ( ) const
inline

◆ CastsTranslucentShadows()

bool FLightSceneProxy::CastsTranslucentShadows ( ) const
inline

◆ CastsVolumetricShadow()

bool FLightSceneProxy::CastsVolumetricShadow ( ) const
inline

◆ GetAtmosphereSunDiskColorScale()

FLinearColor FLightSceneProxy::GetAtmosphereSunDiskColorScale ( ) const
inline

◆ GetAtmosphereSunLightIndex()

uint8 FLightSceneProxy::GetAtmosphereSunLightIndex ( ) const
inline

◆ GetAtmosphereTransmittanceTowardSun()

virtual FLinearColor FLightSceneProxy::GetAtmosphereTransmittanceTowardSun ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetBoundingSphere()

FSphere FLightSceneProxy::GetBoundingSphere ( ) const
virtual

◆ GetCastCloudShadows()

virtual bool FLightSceneProxy::GetCastCloudShadows ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCastShadowsOnAtmosphere()

virtual bool FLightSceneProxy::GetCastShadowsOnAtmosphere ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCastShadowsOnClouds()

virtual bool FLightSceneProxy::GetCastShadowsOnClouds ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudScatteredLuminanceScale()

virtual FLinearColor FLightSceneProxy::GetCloudScatteredLuminanceScale ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowDepthBias()

virtual float FLightSceneProxy::GetCloudShadowDepthBias ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowExtent()

virtual float FLightSceneProxy::GetCloudShadowExtent ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowMapResolutionScale()

virtual float FLightSceneProxy::GetCloudShadowMapResolutionScale ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowOnAtmosphereStrength()

virtual float FLightSceneProxy::GetCloudShadowOnAtmosphereStrength ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowOnSurfaceStrength()

virtual float FLightSceneProxy::GetCloudShadowOnSurfaceStrength ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowRaySampleCountScale()

virtual float FLightSceneProxy::GetCloudShadowRaySampleCountScale ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetCloudShadowStrength()

virtual float FLightSceneProxy::GetCloudShadowStrength ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetColor()

const FLinearColor & FLightSceneProxy::GetColor ( ) const
inline

◆ GetComponentFName()

FName FLightSceneProxy::GetComponentFName ( ) const
inline

◆ GetContactShadowCastingIntensity()

float FLightSceneProxy::GetContactShadowCastingIntensity ( ) const
inline

◆ GetContactShadowLength()

float FLightSceneProxy::GetContactShadowLength ( ) const
inline

◆ GetContactShadowNonCastingIntensity()

float FLightSceneProxy::GetContactShadowNonCastingIntensity ( ) const
inline

◆ GetDeepShadowLayerDistribution()

float FLightSceneProxy::GetDeepShadowLayerDistribution ( ) const
inline

◆ GetDiffuseScale()

float FLightSceneProxy::GetDiffuseScale ( ) const
inline

◆ GetDirection()

FVector FLightSceneProxy::GetDirection ( ) const
inline

◆ GetDirectionalLightDistanceFadeParameters()

virtual FVector2D FLightSceneProxy::GetDirectionalLightDistanceFadeParameters ( ERHIFeatureLevel::Type  InFeatureLevel,
bool  bPrecomputedLightingIsValid,
int32  MaxNearCascades 
) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetDirectionalLightForwardShadingPriority()

virtual int32 FLightSceneProxy::GetDirectionalLightForwardShadingPriority ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetEffectiveScreenRadius()

virtual float FLightSceneProxy::GetEffectiveScreenRadius ( const FViewMatrices ShadowViewMatrices,
const FIntPoint CameraViewRectSize 
) const
inlinevirtual

◆ GetFadeRange()

virtual float FLightSceneProxy::GetFadeRange ( ) const
inlinevirtual

Reimplemented in FLocalLightSceneProxy.

◆ GetForceCachedShadowsForMovablePrimitives()

bool FLightSceneProxy::GetForceCachedShadowsForMovablePrimitives ( ) const
inline

◆ GetIESTexture()

UTextureLightProfile * FLightSceneProxy::GetIESTexture ( ) const
inline

◆ GetIESTextureResource()

FTexture * FLightSceneProxy::GetIESTextureResource ( ) const

◆ GetIndirectLightingScale()

float FLightSceneProxy::GetIndirectLightingScale ( ) const
inline

◆ GetLevelName()

FName FLightSceneProxy::GetLevelName ( ) const
inline

◆ GetLightComponent()

const ULightComponent * FLightSceneProxy::GetLightComponent ( ) const
inline

Note: The Rendering thread must not dereference UObjects! The game thread owns UObject state and may be writing to them at any time. Mirror the data in the scene proxy and access that instead.

◆ GetLightFunctionAtlasLightIndex()

uint8 FLightSceneProxy::GetLightFunctionAtlasLightIndex ( ) const
inline

◆ GetLightFunctionDisabledBrightness()

float FLightSceneProxy::GetLightFunctionDisabledBrightness ( ) const
inline

◆ GetLightFunctionFadeDistance()

float FLightSceneProxy::GetLightFunctionFadeDistance ( ) const
inline

◆ GetLightFunctionMaterial()

const FMaterialRenderProxy * FLightSceneProxy::GetLightFunctionMaterial ( ) const
inline

◆ GetLightFunctionScale()

FVector FLightSceneProxy::GetLightFunctionScale ( ) const
inline

◆ GetLightGuid()

FGuid FLightSceneProxy::GetLightGuid ( ) const
inline

◆ GetLightingChannelMask()

uint8 FLightSceneProxy::GetLightingChannelMask ( ) const
inline

◆ GetLightPositionForLightShafts()

virtual FVector FLightSceneProxy::GetLightPositionForLightShafts ( FVector  ViewOrigin) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetLightSceneInfo()

FLightSceneInfo * FLightSceneProxy::GetLightSceneInfo ( ) const
inline

◆ GetLightShaderParameters()

virtual void FLightSceneProxy::GetLightShaderParameters ( FLightRenderParameters OutLightParameters,
uint32  Flags = 0 
) const
inlinevirtual

Accesses parameters needed for rendering the light.

Reimplemented in FDirectionalLightSceneProxy, FSpotLightSceneProxy, FPointLightSceneProxy, and FRectLightSceneProxy.

◆ GetLightShaftOcclusionParameters()

virtual bool FLightSceneProxy::GetLightShaftOcclusionParameters ( float OutOcclusionMaskDarkness,
float OutOcclusionDepthRange 
) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetLightSourceAngle()

virtual float FLightSceneProxy::GetLightSourceAngle ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetLightToWorld()

const FMatrix & FLightSceneProxy::GetLightToWorld ( ) const
inline

◆ GetLightType()

uint8 FLightSceneProxy::GetLightType ( ) const
inline

◆ GetMaxDrawDistance()

virtual float FLightSceneProxy::GetMaxDrawDistance ( ) const
inlinevirtual

Reimplemented in FLocalLightSceneProxy.

◆ GetMegaLightsShadowMethod()

TEnumAsByte< EMegaLightsShadowMethod::Type > FLightSceneProxy::GetMegaLightsShadowMethod ( ) const
inline

◆ GetModulatedShadowColor()

const FLinearColor & FLightSceneProxy::GetModulatedShadowColor ( ) const
inline

◆ GetNumViewDependentWholeSceneShadows()

virtual uint32 FLightSceneProxy::GetNumViewDependentWholeSceneShadows ( const FSceneView View,
bool  bPrecomputedLightingIsValid 
) const
inlinevirtual

Returns the number of view dependent shadows this light will create, not counting distance field shadow cascades.

Reimplemented in FDirectionalLightSceneProxy.

◆ GetOrigin()

FVector FLightSceneProxy::GetOrigin ( ) const
inline

◆ GetOuterConeAngle()

virtual float FLightSceneProxy::GetOuterConeAngle ( ) const
inlinevirtual

Reimplemented in FSpotLightSceneProxy.

◆ GetOuterSpaceIlluminance()

virtual FLinearColor FLightSceneProxy::GetOuterSpaceIlluminance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetOuterSpaceLuminance()

virtual FLinearColor FLightSceneProxy::GetOuterSpaceLuminance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetOwnerNameOrLabel()

FString FLightSceneProxy::GetOwnerNameOrLabel ( ) const
inline

Use to get the owning actor label (or component name as fallback, if the owner is null or ENABLE_DEBUG_LABELS is off) for diagnostic messages, debug or profiling. The actor label is what is shown in the UI (as opposed to the the FName).

◆ GetPerObjectProjectedShadowInitializer()

virtual bool FLightSceneProxy::GetPerObjectProjectedShadowInitializer ( const FBoxSphereBounds SubjectBounds,
FPerObjectProjectedShadowInitializer OutInitializer 
) const
inlinevirtual

Sets up a projected shadow initializer for the given subject.

Parameters
SubjectBounds- The bounding volume of the subject.
OutInitializer- Upon successful return, contains the initialization parameters for the shadow.
Returns
True if a projected shadow should be cast by this subject-light pair.

Reimplemented in FLocalLightSceneProxy, and FDirectionalLightSceneProxy.

◆ GetPerPixelTransmittanceEnabled()

virtual bool FLightSceneProxy::GetPerPixelTransmittanceEnabled ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetPosition()

FVector4 FLightSceneProxy::GetPosition ( ) const
inline

◆ GetPreviewShadowMapChannel()

int32 FLightSceneProxy::GetPreviewShadowMapChannel ( ) const
inline

◆ GetRadius()

virtual float FLightSceneProxy::GetRadius ( ) const
inlinevirtual
Returns
radius of the light

Reimplemented in FLocalLightSceneProxy.

◆ GetRayEndBias()

float FLightSceneProxy::GetRayEndBias ( ) const
inline

◆ GetRayStartOffsetDepthScale()

float FLightSceneProxy::GetRayStartOffsetDepthScale ( ) const
inline

◆ GetSamplesPerPixel()

uint32 FLightSceneProxy::GetSamplesPerPixel ( ) const
inline

◆ GetSceneInterface()

FSceneInterface * FLightSceneProxy::GetSceneInterface ( ) const
inline

◆ GetScissorRect()

bool FLightSceneProxy::GetScissorRect ( FIntRect ScissorRect,
const FSceneView View,
const FIntRect ViewRect 
) const
virtual

Reimplemented in FLocalLightSceneProxy.

◆ GetShadowAmount()

const float FLightSceneProxy::GetShadowAmount ( ) const
inline

◆ GetShadowMapChannel()

int32 FLightSceneProxy::GetShadowMapChannel ( ) const
inline

◆ GetShadowResolutionScale()

float FLightSceneProxy::GetShadowResolutionScale ( ) const
inline

◆ GetShadowSharpen()

float FLightSceneProxy::GetShadowSharpen ( ) const
inline

◆ GetShadowSourceAngleFactor()

virtual float FLightSceneProxy::GetShadowSourceAngleFactor ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetShadowSplitBounds()

virtual FSphere FLightSceneProxy::GetShadowSplitBounds ( const FSceneView View,
int32  InCascadeIndex,
bool  bPrecomputedLightingIsValid,
FShadowCascadeSettings OutCascadeSettings 
) const
inlinevirtual

◆ GetShadowSplitBoundsDepthRange()

virtual FSphere FLightSceneProxy::GetShadowSplitBoundsDepthRange ( const FSceneView View,
FVector  ViewOrigin,
float  SplitNear,
float  SplitFar,
FShadowCascadeSettings OutCascadeSettings 
) const
inlinevirtual

◆ GetSourceRadius()

virtual float FLightSceneProxy::GetSourceRadius ( ) const
inlinevirtual

Reimplemented in FPointLightSceneProxy.

◆ GetSpecularScale()

float FLightSceneProxy::GetSpecularScale ( ) const
inline

◆ GetStaticShadowDepthMap()

const class FStaticShadowDepthMap * FLightSceneProxy::GetStaticShadowDepthMap ( ) const
inline

◆ GetStatId()

TStatId FLightSceneProxy::GetStatId ( ) const
inline

◆ GetSunIlluminanceAccountingForSkyAtmospherePerPixelTransmittance()

virtual FLinearColor FLightSceneProxy::GetSunIlluminanceAccountingForSkyAtmospherePerPixelTransmittance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetSunIlluminanceOnGroundPostTransmittance()

virtual FLinearColor FLightSceneProxy::GetSunIlluminanceOnGroundPostTransmittance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetSunLightHalfApexAngleRadian()

virtual float FLightSceneProxy::GetSunLightHalfApexAngleRadian ( ) const
inlinevirtual
Returns
the light half apex angle (half angular diameter) in radian.

Reimplemented in FDirectionalLightSceneProxy.

◆ GetSunOnEarthHalfApexAngleRadian()

static float FLightSceneProxy::GetSunOnEarthHalfApexAngleRadian ( )
inlinestatic

◆ GetTraceDistance()

virtual float FLightSceneProxy::GetTraceDistance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetUsePerPixelAtmosphereTransmittance()

virtual bool FLightSceneProxy::GetUsePerPixelAtmosphereTransmittance ( ) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ GetUserShadowBias()

float FLightSceneProxy::GetUserShadowBias ( ) const
inline

◆ GetUserShadowSlopeBias()

float FLightSceneProxy::GetUserShadowSlopeBias ( ) const
inline

◆ GetViewDependentWholeSceneProjectedShadowInitializer()

virtual bool FLightSceneProxy::GetViewDependentWholeSceneProjectedShadowInitializer ( const FSceneView View,
int32  InCascadeIndex,
bool  bPrecomputedLightingIsValid,
FWholeSceneProjectedShadowInitializer OutInitializer 
) const
inlinevirtual

Sets up a projected shadow initializer that's dependent on the current view for shadows from the entire scene.

Parameters
InCascadeIndexcascade index or INDEX_NONE for the distance field cascade
Returns
True if the whole-scene projected shadow should be used.

Reimplemented in FDirectionalLightSceneProxy.

◆ GetViewLightingChannelMask()

uint8 FLightSceneProxy::GetViewLightingChannelMask ( ) const
inline

◆ GetVolumetricScatteringIntensity()

float FLightSceneProxy::GetVolumetricScatteringIntensity ( ) const
inline

◆ GetVSMResolutionLodBias()

float FLightSceneProxy::GetVSMResolutionLodBias ( ) const
inline

◆ GetVSMTexelDitherScale()

float FLightSceneProxy::GetVSMTexelDitherScale ( ) const
inline

◆ GetWholeSceneProjectedShadowInitializer()

virtual bool FLightSceneProxy::GetWholeSceneProjectedShadowInitializer ( const FSceneViewFamily ViewFamily,
TArray< FWholeSceneProjectedShadowInitializer, TInlineAllocator< 6 > > &  OutInitializers 
) const
inlinevirtual

Sets up a projected shadow initializer for shadows from the entire scene.

Returns
True if the whole-scene projected shadow should be used.

Reimplemented in FPointLightSceneProxy, FRectLightSceneProxy, and FSpotLightSceneProxy.

◆ GetWorldToLight()

const FMatrix & FLightSceneProxy::GetWorldToLight ( ) const
inline

◆ HasSourceTexture()

virtual bool FLightSceneProxy::HasSourceTexture ( ) const
inlinevirtual

Reimplemented in FRectLightSceneProxy.

◆ HasStaticLighting()

bool FLightSceneProxy::HasStaticLighting ( ) const
inline

◆ HasStaticShadowing()

bool FLightSceneProxy::HasStaticShadowing ( ) const
inline

◆ HasValidLightFunctionAtlasSlot()

bool FLightSceneProxy::HasValidLightFunctionAtlasSlot ( ) const
inline

◆ IsContactShadowLengthInWS()

bool FLightSceneProxy::IsContactShadowLengthInWS ( ) const
inline

◆ IsInverseSquared()

virtual bool FLightSceneProxy::IsInverseSquared ( ) const
inlinevirtual

Reimplemented in FPointLightSceneProxy.

◆ IsLocalLight()

virtual bool FLightSceneProxy::IsLocalLight ( ) const
inlinevirtual

Reimplemented in FLocalLightSceneProxy.

◆ IsMovable()

bool FLightSceneProxy::IsMovable ( ) const
inline

◆ IsRectLight()

virtual bool FLightSceneProxy::IsRectLight ( ) const
inlinevirtual

Reimplemented in FRectLightSceneProxy.

◆ IsSelected()

bool FLightSceneProxy::IsSelected ( ) const
inline

◆ IsUsedAsAtmosphereSunLight()

bool FLightSceneProxy::IsUsedAsAtmosphereSunLight ( ) const
inline

◆ SetAtmosphereRelatedProperties()

virtual void FLightSceneProxy::SetAtmosphereRelatedProperties ( FLinearColor  TransmittanceTowardSunIn,
FLinearColor  SunDiscOuterSpaceLuminanceIn 
)
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ SetColor()

void FLightSceneProxy::SetColor ( const FLinearColor InColor)
protected

Updates the light's color.

◆ SetLightFunctionAtlasIndices()

void FLightSceneProxy::SetLightFunctionAtlasIndices ( uint8  LightIndex)
inline

◆ SetLightFunctionMaterial_GameThread()

void FLightSceneProxy::SetLightFunctionMaterial_GameThread ( const ULightComponent Component)

◆ SetScissorRect()

virtual bool FLightSceneProxy::SetScissorRect ( FRHICommandList RHICmdList,
const FSceneView View,
const FIntRect ViewRect,
FIntRect OutScissorRect = nullptr 
) const
inlinevirtual

Reimplemented in FLocalLightSceneProxy.

◆ SetSelected()

void FLightSceneProxy::SetSelected ( bool  bNewSelected)
inline

◆ SetTransform()

void FLightSceneProxy::SetTransform ( const FMatrix InLightToWorld,
const FVector4 InPosition 
)
protected

Updates the light proxy's cached transforms.

Parameters
InLightToWorld- The new light-to-world transform.
InPosition- The new position of the light.

◆ SetTransmission_GameThread()

void FLightSceneProxy::SetTransmission_GameThread ( const ULightComponent Component)

◆ ShouldCreatePerObjectShadowsForDynamicObjects()

bool FLightSceneProxy::ShouldCreatePerObjectShadowsForDynamicObjects ( ) const
virtual

Whether this light should create per object shadows for dynamic objects.

Reimplemented in FDirectionalLightSceneProxy.

◆ ShouldCreateRayTracedCascade()

virtual bool FLightSceneProxy::ShouldCreateRayTracedCascade ( ERHIFeatureLevel::Type  Type,
bool  bPrecomputedLightingIsValid,
int32  MaxNearCascades 
) const
inlinevirtual

Reimplemented in FDirectionalLightSceneProxy.

◆ Transmission()

bool FLightSceneProxy::Transmission ( ) const
inline

◆ UE_DEPRECATED()

FLightSceneProxy::UE_DEPRECATED ( 5.  1,
"The GetEffectiveScreenRadius() that uses the screen-percentage scaled view rect (above) is used now."   
) const &
inline

◆ UseCSMForDynamicObjects()

bool FLightSceneProxy::UseCSMForDynamicObjects ( ) const
virtual

Whether this light should create CSM for dynamic objects only (forward renderer)

Whether this light should create CSM for dynamic objects only (mobile renderer)

Reimplemented in FDirectionalLightSceneProxy.

◆ UseRayTracedDistanceFieldShadows()

bool FLightSceneProxy::UseRayTracedDistanceFieldShadows ( ) const
inline

◆ UseVirtualShadowMaps()

bool FLightSceneProxy::UseVirtualShadowMaps ( ) const
inline

Friends And Related Symbol Documentation

◆ FLightSceneInfo

friend class FLightSceneInfo
friend

◆ FScene

friend class FScene
friend

Member Data Documentation

◆ AtmosphereSunDiskColorScale

FLinearColor FLightSceneProxy::AtmosphereSunDiskColorScale
protected

◆ AtmosphereSunLightIndex

const uint8 FLightSceneProxy::AtmosphereSunLightIndex
protected

The index of the atmospheric light. Multiple lights can be considered when computing the sky/atmospheric scattering.

◆ bAffectGlobalIllumination

const uint8 FLightSceneProxy::bAffectGlobalIllumination
protected

Whether the light affects global illumination, when ray-traced global illumination is enabled.

◆ bAffectReflection

const uint8 FLightSceneProxy::bAffectReflection
protected

Whether the light affects objects in reflections, when ray-traced reflection is enabled.

◆ bAffectTranslucentLighting

const uint8 FLightSceneProxy::bAffectTranslucentLighting
protected

Whether the light affects translucency or not. Disabling this can save GPU time when there are many small lights.

◆ bAllowMegaLights

const uint8 FLightSceneProxy::bAllowMegaLights
protected

Whether the light should be rendered with MegaLights.

◆ bCastDynamicShadow

uint8 FLightSceneProxy::bCastDynamicShadow
protected

True if the light casts dynamic shadows.

◆ bCastHairStrandsDeepShadow

const uint8 FLightSceneProxy::bCastHairStrandsDeepShadow
protected

◆ bCastModulatedShadows

uint8 FLightSceneProxy::bCastModulatedShadows
protected

Whether the light will cast modulated shadows when using the forward renderer (mobile).

◆ bCastShadowsFromCinematicObjectsOnly

const uint8 FLightSceneProxy::bCastShadowsFromCinematicObjectsOnly
protected

◆ bCastStaticShadow

const uint8 FLightSceneProxy::bCastStaticShadow
protected

True if the light casts static shadows.

◆ bCastTranslucentShadows

const uint8 FLightSceneProxy::bCastTranslucentShadows
protected

Whether the light is allowed to cast dynamic shadows from translucency.

◆ bCastVolumetricShadow

const uint8 FLightSceneProxy::bCastVolumetricShadow
protected

◆ bContactShadowLengthInWS

uint8 FLightSceneProxy::bContactShadowLengthInWS
protected

True: length of screen space ray trace for sharp contact shadows is in world space. False: in screen space.

◆ bForceCachedShadowsForMovablePrimitives

const uint8 FLightSceneProxy::bForceCachedShadowsForMovablePrimitives
protected

◆ bMovable

const uint8 FLightSceneProxy::bMovable
protected

◆ bSelected

uint8 FLightSceneProxy::bSelected
protected

Is the light selected in the editor?

◆ bStaticLighting

const uint8 FLightSceneProxy::bStaticLighting
protected

Return True if a light's parameters as well as its position is static during gameplay, and can thus use static lighting. A light with HasStaticLighting() == true will always have HasStaticShadowing() == true as well.

◆ bStaticShadowing

uint8 FLightSceneProxy::bStaticShadowing
protected

Whether the light has static direct shadowing. The light may still have dynamic brightness and color. The light may or may not also have static lighting.

◆ bTransmission

uint8 FLightSceneProxy::bTransmission
protected

Whether light from this light transmits through surfaces with subsurface scattering profiles. Requires light to be movable.

◆ bUsedAsAtmosphereSunLight

const uint8 FLightSceneProxy::bUsedAsAtmosphereSunLight
protected

Whether to consider light as a sunlight for atmospheric scattering and exponential height fog.

◆ bUseRayTracedDistanceFieldShadows

const uint8 FLightSceneProxy::bUseRayTracedDistanceFieldShadows
protected

Whether to use ray traced distance field area shadows.

◆ bUseVirtualShadowMaps

uint8 FLightSceneProxy::bUseVirtualShadowMaps
protected

Whether to use virtual shadow maps.

◆ bUseWholeSceneCSMForMovableObjects

uint8 FLightSceneProxy::bUseWholeSceneCSMForMovableObjects
protected

Whether to render csm shadows for movable objects only (mobile).

◆ CastRaytracedShadow

const TEnumAsByte<ECastRayTracedShadow::Type> FLightSceneProxy::CastRaytracedShadow
protected

Whether the light shadows are computed with shadow-mapping or ray-tracing (when available).

◆ Color

FLinearColor FLightSceneProxy::Color
protected

The light color.

◆ ComponentName

FName FLightSceneProxy::ComponentName
protected

The name of the light component.

◆ ContactShadowCastingIntensity

float FLightSceneProxy::ContactShadowCastingIntensity
protected

Intensity of the shadows cast by primitives with "cast contact shadow" enabled. 0 = no shadow, 1 (default) = fully shadowed.

◆ ContactShadowLength

float FLightSceneProxy::ContactShadowLength
protected

Length of screen space ray trace for sharp contact shadows.

◆ ContactShadowNonCastingIntensity

float FLightSceneProxy::ContactShadowNonCastingIntensity
protected

Intensity of the shadows cast by primitives with "cast contact shadow" disabled. 0 (default) = no shadow, 1 = fully shadowed.

◆ DeepShadowLayerDistribution

float FLightSceneProxy::DeepShadowLayerDistribution
protected

Deep shadow layer distribution.

◆ DiffuseScale

float FLightSceneProxy::DiffuseScale
protected

Diffuse scale

◆ FarShadowCascadeCount

uint32 FLightSceneProxy::FarShadowCascadeCount
protected

Only for whole scene directional lights, 0: no FarShadowCascades, otherwise the count of cascades between WholeSceneDynamicShadowRadius and FarShadowDistance that are covered by distant shadow cascades.

◆ FarShadowDistance

float FLightSceneProxy::FarShadowDistance
protected

Only for whole scene directional lights, if FarShadowCascadeCount > 0 and FarShadowDistance >= WholeSceneDynamicShadowRadius, where far shadow cascade should end.

◆ IESAtlasId

uint32 FLightSceneProxy::IESAtlasId
protected

IES texture atlas id.

◆ IESTexture

UTextureLightProfile* FLightSceneProxy::IESTexture
protected

IES texture (light profiles from real world measured data) We are safe to store a U pointer as those objects get deleted deferred, storing an FTexture pointer would crash if we recreate the texture

◆ IndirectLightingScale

float FLightSceneProxy::IndirectLightingScale
protected

Scale for indirect lighting from this light. When 0, indirect lighting is disabled.

◆ LevelName

FName FLightSceneProxy::LevelName
protected

The name of the level the light is in.

◆ LightComponent

const ULightComponent* FLightSceneProxy::LightComponent
protected

The light component.

◆ LightFunctionAtlasLightIndex

uint8 FLightSceneProxy::LightFunctionAtlasLightIndex
protected

The light index in order to be able to read matrix and parameters when reading the light function atlas for that light. A value of 0 means this is the default identity light function and no light function sampling will be done in shader.

◆ LightFunctionDisabledBrightness

float FLightSceneProxy::LightFunctionDisabledBrightness
protected

◆ LightFunctionFadeDistance

float FLightSceneProxy::LightFunctionFadeDistance
protected

◆ LightFunctionMaterial

const FMaterialRenderProxy* FLightSceneProxy::LightFunctionMaterial
protected

◆ LightFunctionScale

FVector FLightSceneProxy::LightFunctionScale
protected

Light function parameters.

◆ LightGuid

FGuid FLightSceneProxy::LightGuid
protected

The light's persistent shadowing GUID.

◆ LightingChannelMask

uint8 FLightSceneProxy::LightingChannelMask
protected

◆ LightSceneInfo

class FLightSceneInfo* FLightSceneProxy::LightSceneInfo
protected

The light's scene info.

◆ LightToWorld

FMatrix FLightSceneProxy::LightToWorld
protected

A transform from light space into world space.

◆ LightType

const uint8 FLightSceneProxy::LightType
protected

The light type (ELightComponentType)

◆ MegaLightsShadowMethod

const TEnumAsByte<EMegaLightsShadowMethod::Type> FLightSceneProxy::MegaLightsShadowMethod
protected

Whether the light shadows are computed with shadow-mapping or ray-tracing (when available).

◆ ModulatedShadowColor

FLinearColor FLightSceneProxy::ModulatedShadowColor
protected

Modulated shadow color.

◆ Position

FVector4 FLightSceneProxy::Position
protected

The homogeneous position of the light.

◆ PreviewShadowMapChannel

int32 FLightSceneProxy::PreviewShadowMapChannel
protected

Transient shadowmap channel used to preview the results of stationary light shadowmap packing.

◆ RayEndBias

float FLightSceneProxy::RayEndBias
protected

Bias applied to end of shadow rays (-1 if global value should be used)

◆ RayStartOffsetDepthScale

float FLightSceneProxy::RayStartOffsetDepthScale
protected

◆ SamplesPerPixel

uint32 FLightSceneProxy::SamplesPerPixel
protected

Samples per pixel for ray tracing

◆ SceneInterface

FSceneInterface* FLightSceneProxy::SceneInterface
protected

The scene the primitive is in.

◆ ShadowAmount

float FLightSceneProxy::ShadowAmount
protected

Control the amount of shadow occlusion.

◆ ShadowBias

float FLightSceneProxy::ShadowBias
protected

User setting from light component, 0:no bias, 0.5:reasonable, larger object might appear to float

◆ ShadowMapChannel

int32 FLightSceneProxy::ShadowMapChannel
protected

Shadow map channel which is used to match up with the appropriate static shadowing during a deferred shading pass. This is generated during a lighting build.

◆ ShadowResolutionScale

float FLightSceneProxy::ShadowResolutionScale
protected

◆ ShadowSharpen

float FLightSceneProxy::ShadowSharpen
protected

Sharpen shadow filtering

◆ ShadowSlopeBias

float FLightSceneProxy::ShadowSlopeBias
protected

User setting from light component, 0:no bias, 0.5:reasonable, larger object might appear to float

◆ SpecularScale

float FLightSceneProxy::SpecularScale
protected

Specular scale

◆ StaticShadowDepthMap

const class FStaticShadowDepthMap* FLightSceneProxy::StaticShadowDepthMap
protected

◆ StatId

TStatId FLightSceneProxy::StatId
protected

Used for dynamic stats

◆ ViewLightingChannelMask

uint8 FLightSceneProxy::ViewLightingChannelMask
protected

◆ VolumetricScatteringIntensity

float FLightSceneProxy::VolumetricScatteringIntensity
protected

Scales this light's intensity for volumetric scattering.

◆ VSMResolutionLodBias

float FLightSceneProxy::VSMResolutionLodBias
protected

Used to control shadow resolution for each light.

◆ VSMTexelDitherScale

float FLightSceneProxy::VSMTexelDitherScale
protected

Used to control the amount of additional dither filtering applied to shadows for each light.

◆ WorldToLight

FMatrix FLightSceneProxy::WorldToLight
protected

A transform from world space into light space.


The documentation for this class was generated from the following files: