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 constructor. | 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 | ||
virtual bool AffectsBounds
(
const FBoxSphereBounds& Bounds |
Tests whether the light affects the given bounding volume. | LightSceneProxy.h | |
bool AffectsTranslucentLighting() |
LightSceneProxy.h | ||
bool AllowMegaLights() |
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 | |
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 | ||
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 | ||
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 | ||
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 | ||
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 | |
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 | ||
virtual FVector GetLightPositionForLightShafts
(
FVector ViewOrigin |
LightSceneProxy.h | ||
FLightSceneInfo * GetLightSceneInfo() |
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 | ||
const FMatrix & GetLightToWorld() |
LightSceneProxy.h | ||
uint8 GetLightType() |
LightSceneProxy.h | ||
virtual float GetMaxDrawDistance() |
LightSceneProxy.h | ||
TEnumAsByte< EMegaLightsShadowMethod::Type > GetMegaLightsShadowMethod() |
LightSceneProxy.h | ||
const FLinearColor & GetModulatedShadowColor() |
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 | |
FVector GetOrigin() |
LightSceneProxy.h | ||
virtual float GetOuterConeAngle() |
LightSceneProxy.h | ||
virtual FLinearColor GetOuterSpaceIlluminance() |
LightSceneProxy.h | ||
virtual FLinearColor GetOuterSpaceLuminance() |
LightSceneProxy.h | ||
FString GetOwnerNameOrLabel () |
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 | |
virtual bool GetPerObjectProjectedShadowInitializer
(
const FBoxSphereBounds& SubjectBounds, |
Sets up a projected shadow initializer for the given subject. | LightSceneProxy.h | |
virtual bool GetPerPixelTransmittanceEnabled() |
LightSceneProxy.h | ||
FVector4 GetPosition() |
LightSceneProxy.h | ||
int32 GetPreviewShadowMapChannel() |
LightSceneProxy.h | ||
virtual float GetRadius() |
LightSceneProxy.h | ||
float GetRayStartOffsetDepthScale() |
LightSceneProxy.h | ||
uint32 GetSamplesPerPixel() |
LightSceneProxy.h | ||
FSceneInterface * GetSceneInterface() |
LightSceneProxy.h | ||
virtual bool GetScissorRect
(
FIntRect& ScissorRect, |
LightSceneProxy.h | ||
const float GetShadowAmount() |
LightSceneProxy.h | ||
int32 GetShadowMapChannel() |
LightSceneProxy.h | ||
float GetShadowResolutionScale() |
LightSceneProxy.h | ||
float GetShadowSharpen() |
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 | ||
float GetSpecularScale() |
LightSceneProxy.h | ||
const FStaticShadowDepthMap * GetStaticShadowDepthMap() |
LightSceneProxy.h | ||
TStatId GetStatId() |
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 | ||
float GetUserShadowBias() |
Accessors. | LightSceneProxy.h | |
float GetUserShadowSlopeBias() |
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 | |
uint8 GetViewLightingChannelMask() |
LightSceneProxy.h | ||
float GetVolumetricScatteringIntensity() |
LightSceneProxy.h | ||
float GetVSMResolutionLodBias() |
LightSceneProxy.h | ||
float GetVSMTexelDitherScale() |
LightSceneProxy.h | ||
virtual bool GetWholeSceneProjectedShadowInitializer
(
const FSceneViewFamily& ViewFamily, |
Sets up a projected shadow initializer for shadows from the entire scene. | LightSceneProxy.h | |
const FMatrix & GetWorldToLight() |
LightSceneProxy.h | ||
virtual bool HasSourceTexture() |
LightSceneProxy.h | ||
bool HasStaticLighting() |
LightSceneProxy.h | ||
bool HasStaticShadowing() |
LightSceneProxy.h | ||
bool HasValidLightFunctionAtlasSlot() |
LightSceneProxy.h | ||
bool IsContactShadowLengthInWS() |
LightSceneProxy.h | ||
virtual bool IsInverseSquared() |
LightSceneProxy.h | ||
virtual bool IsLocalLight() |
LightSceneProxy.h | ||
bool IsMovable() |
LightSceneProxy.h | ||
virtual bool IsRectLight() |
LightSceneProxy.h | ||
bool IsSelected() |
LightSceneProxy.h | ||
bool IsUsedAsAtmosphereSunLight() |
LightSceneProxy.h | ||
virtual void SetAtmosphereRelatedProperties
(
FLinearColor TransmittanceTowardSunIn, |
LightSceneProxy.h | ||
void SetLightFunctionAtlasIndices
(
uint8 LightIndex |
LightSceneProxy.h | ||
virtual bool SetScissorRect
(
FRHICommandList& RHICmdList, |
LightSceneProxy.h | ||
void SetSelected
(
bool bNewSelected |
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 | ||
bool Transmission() |
LightSceneProxy.h | ||
virtual bool UseCSMForDynamicObjects () |
Whether this light should create CSM for dynamic objects only (forward renderer) | LightSceneProxy.h | |
bool UseRayTracedDistanceFieldShadows() |
LightSceneProxy.h | ||
bool UseVirtualShadowMaps() |
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 |