UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PlanarReflectionComponent.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
10#include "PlanarReflectionComponent.generated.h"
11
15UCLASS(hidecategories=(Collision, Object, Physics, SceneComponent), ClassGroup=Rendering, MinimalAPI, editinlinenew, meta=(BlueprintSpawnableComponent))
17{
19
20 UPROPERTY()
21 TObjectPtr<class UBoxComponent> PreviewBox;
22
23public:
24
26 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "1000.0"))
28
30 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = ".04"))
31 float PrefilterRoughness;
32
34 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "100000"), AdvancedDisplay)
35 float PrefilterRoughnessDistance;
36
38 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "25", UIMax = "100"), AdvancedDisplay)
40
46 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "10.0"), AdvancedDisplay)
47 float ExtraFOV;
48
49 UPROPERTY()
51
52 UPROPERTY()
54
56 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "1500.0"))
58
60 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "1500.0"))
62
64 UPROPERTY(EditAnywhere, Category=PlanarReflection, meta=(UIMin = "0", UIMax = "90.0"))
66
68 UPROPERTY(EditAnywhere, Category = PlanarReflection, meta = (UIMin = "0", UIMax = "90.0"))
70
71 UPROPERTY(EditAnywhere, Category = PlanarReflection)
73
79 UPROPERTY(EditAnywhere, Category = PlanarReflection, AdvancedDisplay)
80 bool bRenderSceneTwoSided;
81
82 //~ Begin UObject Interface
84 virtual void BeginDestroy() override;
85 virtual bool IsReadyForFinishDestroy() override;
86 virtual void FinishDestroy() override;
87 //~ End UObject Interface
88
89 //~ Begin UActorComponent Interface
90 virtual void CreateRenderState_Concurrent(FRegisterComponentContext* Context) override;
91 virtual void SendRenderTransform_Concurrent() override;
92 virtual void DestroyRenderState_Concurrent() override;
93 virtual void OnRegister() override;
94 //~ Begin UActorComponent Interface
95
96#if WITH_EDITOR
97 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
98#endif
99
100 void UpdatePreviewShape();
101
103 {
104 check(StereoIndex < 2);
105 OutMatrix = ProjectionWithExtraFOV[StereoIndex];
106 }
107
109 {
110 return PlanarReflectionId;
111 }
112
113 bool ShouldComponentAddToScene() const;
114
115protected:
116#if WITH_EDITORONLY_DATA
119
120#endif
121
122private:
123
125 FRenderCommandFence ReleaseResourcesFence;
126
127 class FPlanarReflectionSceneProxy* SceneProxy;
128
130
131 FMatrix ProjectionWithExtraFOV[2];
132
133 int32 PlanarReflectionId;
134
135 friend class FScene;
136};
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition PlanarReflectionSceneProxy.h:22
Definition PlanarReflectionSceneProxy.h:88
Definition ActorComponent.h:47
Definition RenderCommandFence.h:15
Definition ScenePrivate.h:2875
Definition SceneCaptureComponent.h:73
Definition UnrealType.h:6865
Definition SoftObjectPath.h:56
Definition ObjectPtr.h:488