UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RectLightComponent.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Engine/Scene.h"
10#include "RectLightComponent.generated.h"
11
13
14void ENGINE_API CalculateRectLightCullingBarnExtentAndDepth(float Size, float Length, float AngleRad, float Radius, float& OutExtent, float& OutDepth);
15void ENGINE_API CalculateRectLightBarnCorners(float SourceWidth, float SourceHeight, float BarnExtent, float BarnDepth, TStaticArray<FVector, 8>& OutCorners);
16
18
22UCLASS(Blueprintable, ClassGroup=(Lights), hidecategories=(Object, LightShafts), editinlinenew, meta=(BlueprintSpawnableComponent), MinimalAPI)
24{
26
27
31 UPROPERTY(EditAnywhere, BlueprintReadOnly, interp, Category=Light, meta=(UIMin = "0.0", UIMax = "1000.0", ClampMax = "100000"))
32 float SourceWidth;
33
38 UPROPERTY(EditAnywhere, BlueprintReadOnly, interp, Category=Light, meta=(UIMin = "0.0", UIMax = "1000.0", ClampMax = "100000"))
39 float SourceHeight;
40
44 UPROPERTY(EditAnywhere, BlueprintReadOnly, interp, Category = Light, meta = (UIMin = "0.0", UIMax = "90.0"))
45 float BarnDoorAngle;
46
50 UPROPERTY(EditAnywhere, BlueprintReadOnly, interp, Category = Light, meta = (UIMin = "0.0"))
51 float BarnDoorLength;
52
57 UPROPERTY(EditAnywhere, BlueprintReadOnly, interp, Category = LightFunction, meta = (UIMin = "0.0", UIMax = "89.0", ClampMin = "0.0", ClampMax = "89.0"))
59
61 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Light, meta = (GetAssetFilter = "ShouldFilterSourceTexture"))
62 TObjectPtr<class UTexture> SourceTexture;
63
65 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Light, meta = (UIMin = "0.0", UIMax = "1.0"), AdvancedDisplay)
67
69 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Light, meta = (UIMin = "0.0", UIMax = "1.0"), AdvancedDisplay)
71
73 UPROPERTY(meta = (Hidden))
75
76 UFUNCTION(BlueprintCallable, Category = "Rendering|Lighting")
77 ENGINE_API void SetSourceTexture(UTexture* NewValue);
78
79 UFUNCTION(BlueprintCallable, Category="Rendering|Lighting")
80 ENGINE_API void SetSourceWidth(float NewValue);
81
82 UFUNCTION(BlueprintCallable, Category="Rendering|Lighting")
83 ENGINE_API void SetSourceHeight(float NewValue);
84
85 UFUNCTION(BlueprintCallable, Category = "Rendering|Lighting")
86 ENGINE_API void SetBarnDoorAngle(float NewValue);
87
88 UFUNCTION(BlueprintCallable, Category = "Rendering|Lighting")
89 ENGINE_API void SetBarnDoorLength(float NewValue);
90
91public:
92
93 ENGINE_API virtual float ComputeLightBrightness() const override;
94#if WITH_EDITOR
95 ENGINE_API virtual void SetLightBrightness(float InBrightness) override;
96 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const override;
97 ENGINE_API virtual void CheckForErrors() override;
98#endif
99
100 //~ Begin ULightComponent Interface.
101 ENGINE_API virtual ELightComponentType GetLightType() const override;
102 ENGINE_API virtual float GetUniformPenumbraSize() const override;
103 ENGINE_API virtual FLightSceneProxy* CreateSceneProxy() const override;
104
105 ENGINE_API virtual void BeginDestroy() override;
106 //~ Begin UObject Interface
107#if WITH_EDITOR
108 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
109#endif // WITH_EDITOR
110 //~ End UObject Interface
111
112 ENGINE_API virtual void Serialize(FArchive& Ar) override;
113 ENGINE_API virtual void PostLoad() override;
114
115protected:
116#if WITH_EDITOR
118 void ValidateTexture() const;
119
120 UFUNCTION()
121 bool ShouldFilterSourceTexture(const FAssetData& AssetData) const;
122#endif
123};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
void ENGINE_API CalculateRectLightCullingBarnExtentAndDepth(float Size, float Length, float AngleRad, float Radius, float &OutExtent, float &OutDepth)
Definition RectLightComponent.cpp:46
float ENGINE_API GetRectLightBarnDoorMaxAngle()
Definition RectLightComponent.cpp:25
void ENGINE_API CalculateRectLightBarnCorners(float SourceWidth, float SourceHeight, float BarnExtent, float BarnDepth, TStaticArray< FVector, 8 > &OutCorners)
Definition RectLightComponent.cpp:79
ELightComponentType
Definition SceneTypes.h:96
uint32 Size
Definition VulkanMemory.cpp:4034
Definition Archive.h:1208
Definition LightSceneProxy.h:43
Definition UnrealType.h:174
Definition StaticArray.h:26
Definition Texture.h:1219
@ false
Definition radaudio_common.h:23
Definition AssetData.h:162
Definition UnrealType.h:6865
Definition ObjectPtr.h:488