UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessComponent.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"
10#include "Engine/Scene.h"
13#include "PostProcessComponent.generated.h"
14
20UCLASS(ClassGroup = Rendering, collapsecategories, hidecategories = (Object), editinlinenew, meta = (BlueprintSpawnableComponent), MinimalAPI)
21class UPostProcessComponent : public USceneComponent, public IInterface_PostProcessVolume
22{
24
25
26 UPROPERTY(interp, Category = PostProcessVolume, meta = (ShowOnlyInnerProperties))
28
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = PostProcessVolume)
34 float Priority;
35
37 UPROPERTY(interp, Category = PostProcessVolume, meta = (ClampMin = "0.0", UIMin = "0.0", UIMax = "6000.0"))
38 float BlendRadius;
39
41 UPROPERTY(interp, Category = PostProcessVolume, BlueprintReadWrite, meta = (UIMin = "0.0", UIMax = "1.0"))
42 float BlendWeight;
43
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = PostProcessVolume)
46 uint32 bEnabled: 1;
47
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = PostProcessVolume)
50 uint32 bUnbound: 1;
51
53 UPROPERTY(TextExportTransient, NonPIEDuplicateTransient, NonTransactional)
54 FGuid VolumeGuid;
55
56 //~ Begin IInterface_PostProcessVolume Interface
57 ENGINE_API virtual bool EncompassesPoint(FVector Point, float SphereRadius/*=0.f*/, float* OutDistanceToPoint) override;
58 virtual FPostProcessVolumeProperties GetProperties() const override
59 {
61 Ret.bIsEnabled = bEnabled != 0 && ShouldRender();
62 Ret.bIsUnbound = bUnbound != 0 || Cast<UShapeComponent>(GetAttachParent()) == nullptr;
63 Ret.BlendRadius = BlendRadius;
64 Ret.BlendWeight = BlendWeight;
65 Ret.Priority = Priority;
66 Ret.Settings = &Settings;
67 Ret.Size = Ret.bIsUnbound ? DBL_MAX : Cast<UShapeComponent>(GetAttachParent())->CalcLocalBounds().GetBox().GetVolume();
68 Ret.VolumeGuid = VolumeGuid;
69 return Ret;
70 }
71#if DEBUG_POST_PROCESS_VOLUME_ENABLE
72 virtual FString GetDebugName() const override
73 {
74 return GetName();
75 }
76#endif
77 //~ End IInterface_PostProcessVolume Interface
78
80 UFUNCTION(BlueprintCallable, Category="Rendering")
81 void AddOrUpdateBlendable(TScriptInterface<IBlendableInterface> InBlendableObject, float InWeight = 1.0f) { Settings.AddBlendable(InBlendableObject, InWeight); }
82
83protected:
84
85 virtual void OnRegister() override;
86 virtual void OnUnregister() override;
87
88 //~ Begin UObject Interface
89 virtual void Serialize(FArchive& Ar) override;
90 virtual void PostInitProperties() override;
91 //~ End UObject Interface
92};
93
94
95
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
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 UFUNCTION(...)
Definition ObjectMacros.h:745
#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 BlendableInterface.h:96
Definition Interface_PostProcessVolume.h:39
Definition ScriptInterface.h:139
IMAGECORE_API const TCHAR * GetName(Type Format)
Definition ImageCore.cpp:1378
Definition Guid.h:109
Definition Scene.h:693
Definition Interface_PostProcessVolume.h:15
bool bIsUnbound
Definition Interface_PostProcessVolume.h:21
const FPostProcessSettings * Settings
Definition Interface_PostProcessVolume.h:16
double Size
Definition Interface_PostProcessVolume.h:27
bool bIsEnabled
Definition Interface_PostProcessVolume.h:20
FGuid VolumeGuid
Definition Interface_PostProcessVolume.h:28
float Priority
Definition Interface_PostProcessVolume.h:17
float BlendWeight
Definition Interface_PostProcessVolume.h:19
float BlendRadius
Definition Interface_PostProcessVolume.h:18