Navigation
API > API/Runtime > API/Runtime/Engine
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.
| Name | FLightSceneProxy |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/LightSceneProxy.h |
| Include Path | #include "LightSceneProxy.h" |
Syntax
class FLightSceneProxy : public FLightSceneProxyFixLayout
Inheritance Hierarchy
- FLightSceneProxyFixLayout → FLightSceneProxy
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FLightSceneProxy
(
const ULightComponent* InLightComponent |
Initialization constructors. | LightSceneProxy.h | |
FLightSceneProxy
(
const FLightSceneProxyDesc& Desc |
LightSceneProxy.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FLightSceneProxy() |
LightSceneProxy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AffectGlobalIllumination() |
LightSceneProxy.h | ||
bool AffectReflection() |
LightSceneProxy.h | ||
bool AffectsTranslucentLighting() |
LightSceneProxy.h | ||
bool AllowMegaLights() |
LightSceneProxy.h | ||
bool CastsDynamicShadow() |
LightSceneProxy.h | ||
bool CastsHairStrandsDeepShadow() |
LightSceneProxy.h | ||
bool CastsModulatedShadows() |
LightSceneProxy.h | ||
TEnumAsByte< ECastRayTracedShadow::Type > CastsRaytracedShadow() |
LightSceneProxy.h | ||
bool CastsShadowsFromCinematicObjectsOnly() |
LightSceneProxy.h | ||
bool CastsStaticShadow() |
LightSceneProxy.h | ||
bool CastsTranslucentShadows() |
LightSceneProxy.h | ||
bool CastsVolumetricShadow() |
LightSceneProxy.h | ||
FLinearColor GetAtmosphereSunDiskColorScale() |
LightSceneProxy.h | ||
uint8 GetAtmosphereSunLightIndex() |
LightSceneProxy.h | ||
float GetBloomMaxBrightness() |
LightSceneProxy.h | ||
float GetBloomScale() |
LightSceneProxy.h | ||
float GetBloomThreshold() |
LightSceneProxy.h | ||
const FColor & GetBloomTint() |
LightSceneProxy.h | ||
const FLinearColor & GetColor() |
LightSceneProxy.h | ||
FName GetComponentFName() |
LightSceneProxy.h | ||
float GetContactShadowCastingIntensity() |
LightSceneProxy.h | ||
float GetContactShadowLength() |
LightSceneProxy.h | ||
float GetContactShadowNonCastingIntensity() |
LightSceneProxy.h | ||
float GetDeepShadowLayerDistribution() |
LightSceneProxy.h | ||
float GetDiffuseScale() |
LightSceneProxy.h | ||
FVector GetDirection() |
LightSceneProxy.h | ||
bool GetForceCachedShadowsForMovablePrimitives() |
LightSceneProxy.h | ||
UTextureLightProfile * GetIESTexture() |
LightSceneProxy.h | ||
FTexture * GetIESTextureResource() |
LightSceneProxy.h | ||
float GetIndirectLightingScale() |
LightSceneProxy.h | ||
FName GetLevelName() |
LightSceneProxy.h | ||
const ULightComponent * GetLightComponent () |
Note: The Rendering thread must not dereference UObjects! The game thread owns UObject state and may be writing to them at any time. | LightSceneProxy.h | |
const FLightComponentId & GetLightComponentId() |
LightSceneProxy.h | ||
uint8 GetLightFunctionAtlasLightIndex() |
LightSceneProxy.h | ||
float GetLightFunctionDisabledBrightness() |
LightSceneProxy.h | ||
float GetLightFunctionFadeDistance() |
LightSceneProxy.h | ||
const FMaterialRenderProxy * GetLightFunctionMaterial() |
LightSceneProxy.h | ||
FVector GetLightFunctionScale() |
LightSceneProxy.h | ||
FGuid GetLightGuid() |
LightSceneProxy.h | ||
uint8 GetLightingChannelMask() |
LightSceneProxy.h | ||
FLightSceneInfo * GetLightSceneInfo() |
LightSceneProxy.h | ||
const FMatrix & GetLightToWorld() |
LightSceneProxy.h | ||
uint8 GetLightType() |
LightSceneProxy.h | ||
TEnumAsByte< EMegaLightsShadowMethod::Type > GetMegaLightsShadowMethod() |
LightSceneProxy.h | ||
const FLinearColor & GetModulatedShadowColor() |
LightSceneProxy.h | ||
FVector GetOrigin() |
LightSceneProxy.h | ||
| 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. | LightSceneProxy.h | ||
FVector4 GetPosition() |
LightSceneProxy.h | ||
int32 GetPreviewShadowMapChannel() |
LightSceneProxy.h | ||
float GetRayEndBias() |
LightSceneProxy.h | ||
float GetRayStartOffsetDepthScale() |
LightSceneProxy.h | ||
uint32 GetSamplesPerPixel() |
LightSceneProxy.h | ||
FSceneInterface * GetSceneInterface() |
LightSceneProxy.h | ||
const float GetShadowAmount() |
LightSceneProxy.h | ||
int32 GetShadowMapChannel() |
LightSceneProxy.h | ||
float GetShadowResolutionScale() |
LightSceneProxy.h | ||
float GetShadowSharpen() |
LightSceneProxy.h | ||
float GetSpecularScale() |
LightSceneProxy.h | ||
const FStaticShadowDepthMap * GetStaticShadowDepthMap() |
LightSceneProxy.h | ||
TStatId GetStatId() |
LightSceneProxy.h | ||
float GetUserShadowBias() |
Accessors. | LightSceneProxy.h | |
float GetUserShadowSlopeBias() |
LightSceneProxy.h | ||
uint8 GetViewLightingChannelMask() |
LightSceneProxy.h | ||
float GetVolumetricScatteringIntensity() |
LightSceneProxy.h | ||
float GetVSMResolutionLodBias() |
LightSceneProxy.h | ||
float GetVSMTexelDitherScale() |
LightSceneProxy.h | ||
const FMatrix & GetWorldToLight() |
LightSceneProxy.h | ||
bool HasStaticLighting() |
LightSceneProxy.h | ||
bool HasStaticShadowing() |
LightSceneProxy.h | ||
bool HasValidLightFunctionAtlasSlot() |
LightSceneProxy.h | ||
bool IsContactShadowLengthInWS() |
LightSceneProxy.h | ||
bool IsLightShaftBloomEnabled() |
LightSceneProxy.h | ||
bool IsMovable() |
LightSceneProxy.h | ||
bool IsPrecomputedLightingValid() |
Necessary to build FLightSceneInfo. | LightSceneProxy.h | |
bool IsSelected() |
LightSceneProxy.h | ||
bool IsUsedAsAtmosphereSunLight() |
LightSceneProxy.h | ||
void SetLightFunctionAtlasIndices
(
uint8 LightIndex |
LightSceneProxy.h | ||
void SetLightFunctionMaterial_GameThread
(
const ULightComponent* Component |
LightSceneProxy.h | ||
void SetSelected
(
bool bNewSelected |
LightSceneProxy.h | ||
void SetTransmission_GameThread
(
const ULightComponent* Component |
LightSceneProxy.h | ||
bool Transmission() |
LightSceneProxy.h | ||
bool UseRayTracedDistanceFieldShadows() |
LightSceneProxy.h | ||
bool UseVirtualShadowMaps() |
LightSceneProxy.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AffectsBounds
(
const FBoxSphereBounds& Bounds |
Tests whether the light affects the given bounding volume. | LightSceneProxy.h | |
virtual void ApplyWorldOffset
(
FVector InOffset |
Shifts light position and all relevant data by an arbitrary delta. Called on world origin changes | LightSceneProxy.h | |
virtual FLinearColor GetAtmosphereTransmittanceTowardSun() |
LightSceneProxy.h | ||
virtual FSphere GetBoundingSphere() |
LightSceneProxy.h | ||
virtual bool GetCastCloudShadows() |
LightSceneProxy.h | ||
virtual bool GetCastShadowsOnAtmosphere() |
LightSceneProxy.h | ||
virtual bool GetCastShadowsOnClouds() |
LightSceneProxy.h | ||
virtual FLinearColor GetCloudScatteredLuminanceScale() |
LightSceneProxy.h | ||
virtual float GetCloudShadowDepthBias() |
LightSceneProxy.h | ||
virtual float GetCloudShadowExtent() |
LightSceneProxy.h | ||
virtual float GetCloudShadowMapResolutionScale() |
LightSceneProxy.h | ||
virtual float GetCloudShadowOnAtmosphereStrength() |
LightSceneProxy.h | ||
virtual float GetCloudShadowOnSurfaceStrength() |
LightSceneProxy.h | ||
virtual float GetCloudShadowRaySampleCountScale() |
LightSceneProxy.h | ||
virtual float GetCloudShadowStrength() |
LightSceneProxy.h | ||
virtual FVector2D GetDirectionalLightDistanceFadeParameters
(
ERHIFeatureLevel::Type InFeatureLevel, |
LightSceneProxy.h | ||
virtual int32 GetDirectionalLightForwardShadingPriority() |
LightSceneProxy.h | ||
virtual float GetEffectiveScreenRadius
(
const FViewMatrices& ShadowViewMatrices |
LightSceneProxy.h | ||
virtual float GetEffectiveScreenRadius
(
const FViewMatrices& ShadowViewMatrices, |
TODO: refactor this to move into the shadow scene renderer. | LightSceneProxy.h | |
virtual float GetFadeRange() |
LightSceneProxy.h | ||
virtual FVector GetLightPositionForLightShafts
(
FVector ViewOrigin |
LightSceneProxy.h | ||
virtual void GetLightShaderParameters
(
FLightRenderParameters& OutLightParameters, |
Accesses parameters needed for rendering the light. | LightSceneProxy.h | |
virtual bool GetLightShaftOcclusionParameters
(
float& OutOcclusionMaskDarkness, |
LightSceneProxy.h | ||
virtual float GetLightSourceAngle() |
LightSceneProxy.h | ||
virtual float GetMaxDrawDistance() |
LightSceneProxy.h | ||
virtual float GetMaxShadowReceiverDistance
(
const FSceneView& View, |
Max world-space distance for CSM receivers (near + far cascades combined). | LightSceneProxy.h | |
virtual uint32 GetNumViewDependentWholeSceneShadows
(
const FSceneView& View, |
Returns the number of view dependent shadows this light will create, not counting distance field shadow cascades. | LightSceneProxy.h | |
virtual float GetOuterConeAngle() |
LightSceneProxy.h | ||
virtual FLinearColor GetOuterSpaceIlluminance() |
LightSceneProxy.h | ||
virtual FLinearColor GetOuterSpaceLuminance() |
LightSceneProxy.h | ||
virtual bool GetPerObjectProjectedShadowInitializer
(
const FBoxSphereBounds& SubjectBounds, |
Sets up a projected shadow initializer for the given subject. | LightSceneProxy.h | |
virtual bool GetPerPixelTransmittanceEnabled() |
LightSceneProxy.h | ||
virtual float GetRadius() |
LightSceneProxy.h | ||
virtual bool GetScissorRect
(
FIntRect& ScissorRect, |
LightSceneProxy.h | ||
virtual float GetShadowSourceAngleFactor() |
LightSceneProxy.h | ||
virtual FSphere GetShadowSplitBounds
(
const FSceneView& View, |
LightSceneProxy.h | ||
virtual FSphere GetShadowSplitBoundsDepthRange
(
const FSceneView& View, |
LightSceneProxy.h | ||
virtual float GetSourceRadius() |
LightSceneProxy.h | ||
virtual FLinearColor GetSunIlluminanceAccountingForSkyAtmospherePerPixelTransmittance() |
LightSceneProxy.h | ||
virtual FLinearColor GetSunIlluminanceOnGroundPostTransmittance() |
LightSceneProxy.h | ||
virtual float GetSunLightHalfApexAngleRadian() |
LightSceneProxy.h | ||
virtual float GetTraceDistance() |
LightSceneProxy.h | ||
virtual bool GetUsePerPixelAtmosphereTransmittance() |
LightSceneProxy.h | ||
virtual bool GetViewDependentWholeSceneProjectedShadowInitializer
(
const FSceneView& View, |
Sets up a projected shadow initializer that's dependent on the current view for shadows from the entire scene. | LightSceneProxy.h | |
virtual bool GetWholeSceneProjectedShadowInitializer
(
const FSceneViewFamily& ViewFamily, |
Sets up a projected shadow initializer for shadows from the entire scene. | LightSceneProxy.h | |
virtual bool HasSourceTexture() |
LightSceneProxy.h | ||
virtual bool IsInverseSquared() |
LightSceneProxy.h | ||
virtual bool IsLocalLight() |
LightSceneProxy.h | ||
virtual bool IsRectLight() |
LightSceneProxy.h | ||
virtual void SetAtmosphereRelatedProperties
(
FLinearColor TransmittanceTowardSunIn, |
LightSceneProxy.h | ||
virtual bool SetScissorRect
(
FRHICommandList& RHICmdList, |
LightSceneProxy.h | ||
virtual bool ShouldCreatePerObjectShadowsForDynamicObjects() |
Whether this light should create per object shadows for dynamic objects. | LightSceneProxy.h | |
virtual bool ShouldCreateRayTracedCascade
(
ERHIFeatureLevel::Type Type, |
LightSceneProxy.h | ||
virtual bool UseCSMForDynamicObjects () |
Whether this light should create CSM for dynamic objects only (forward renderer) | LightSceneProxy.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void SetColor
(
const FLinearColor& InColor |
Updates the light's color. | LightSceneProxy.h | |
void SetTransform
(
const FMatrix& InLightToWorld, |
Updates the light proxy's cached transforms. | LightSceneProxy.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static float GetSunOnEarthHalfApexAngleRadian() |
LightSceneProxy.h |