UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FXSystemSet.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 FXSystemSet.h: Internal redirector to several fx systems.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "FXSystem.h"
13
14class FGPUSortManager;
15
20{
21public:
22
24
26
27 virtual FFXSystemInterface* GetInterface(const FName& InName) override;
28 virtual void Tick(UWorld* World, float DeltaSeconds) override;
29
30#if WITH_EDITOR
31 virtual void Suspend() override;
32 virtual void Resume() override;
33#endif // #if WITH_EDITOR
34
35 virtual void DrawDebug(FCanvas* Canvas) override;
36 virtual bool ShouldDebugDraw_RenderThread() const override;
37 virtual void DrawDebug_RenderThread(FRDGBuilder& GraphBuilder, const FSceneView& View, const struct FScreenPassRenderTarget& Output) override;
39 virtual void AddVectorField(UVectorFieldComponent* VectorFieldComponent) override;
40 virtual void RemoveVectorField(UVectorFieldComponent* VectorFieldComponent) override;
41 virtual void UpdateVectorField(UVectorFieldComponent* VectorFieldComponent) override;
42 virtual void PreInitViews(FRDGBuilder& GraphBuilder, bool bAllowGPUParticleUpdate, const TArrayView<const FSceneViewFamily*>& ViewFamilies, const FSceneViewFamily* CurrentFamily) override;
43 virtual void PostInitViews(FRDGBuilder& GraphBuilder, TConstStridedView<FSceneView> Views, bool bAllowGPUParticleUpdate) override;
44 virtual bool UsesGlobalDistanceField() const override;
45 virtual bool UsesDepthBuffer() const override;
46 virtual bool RequiresEarlyViewUniformBuffer() const override;
47 virtual bool RequiresRayTracingScene() const override;
48 virtual void PreRender(FRDGBuilder& GraphBuilder, TConstStridedView<FSceneView> Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleSceneUpdate) override;
49 virtual void PostRenderOpaque(FRDGBuilder& GraphBuilder, TConstStridedView<FSceneView> Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleSceneUpdate) override;
50
51 virtual void OnMarkPendingKill() override;
52 virtual void DestroyGPUSimulation() override;
53
55 virtual FGPUSortManager* GetGPUSortManager() const override;
56
58
59protected:
60
62 virtual ~FFXSystemSet();
63
64 // We keep a reference to the GPUSortManager only for GetGPUSortManager().
66};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition CanvasTypes.h:211
Definition FXSystem.h:131
friend class FFXSystemSet
Definition FXSystem.h:310
Definition FXSystemSet.h:20
virtual void DrawSceneDebug_RenderThread(FRDGBuilder &GraphBuilder, const FSceneView &View, FRDGTextureRef SceneColor, FRDGTextureRef SceneDepth) override
Definition FXSystemSet.cpp:85
virtual void DrawDebug(FCanvas *Canvas) override
Definition FXSystemSet.cpp:57
virtual bool ShouldDebugDraw_RenderThread() const override
Definition FXSystemSet.cpp:65
virtual bool UsesGlobalDistanceField() const override
Definition FXSystemSet.cpp:133
virtual void SetSceneTexturesUniformBuffer(const TUniformBufferRef< FSceneTextureUniformParameters > &InSceneTexturesUniformParams) override
Definition FXSystemSet.cpp:189
virtual void PostInitViews(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, bool bAllowGPUParticleUpdate) override
Definition FXSystemSet.cpp:125
virtual FGPUSortManager * GetGPUSortManager() const override
Definition FXSystemSet.cpp:228
virtual void DrawDebug_RenderThread(FRDGBuilder &GraphBuilder, const FSceneView &View, const struct FScreenPassRenderTarget &Output) override
Definition FXSystemSet.cpp:77
virtual ~FFXSystemSet()
Definition FXSystemSet.cpp:223
virtual bool RequiresEarlyViewUniformBuffer() const override
Definition FXSystemSet.cpp:157
TArray< TSharedRef< FFXSystemInterface > > FXSystems
Definition FXSystemSet.h:25
TRefCountPtr< FGPUSortManager > GPUSortManager
Definition FXSystemSet.h:65
virtual void RemoveVectorField(UVectorFieldComponent *VectorFieldComponent) override
Definition FXSystemSet.cpp:101
virtual void PreRender(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleSceneUpdate) override
Definition FXSystemSet.cpp:181
virtual bool RequiresRayTracingScene() const override
Definition FXSystemSet.cpp:169
virtual void UpdateVectorField(UVectorFieldComponent *VectorFieldComponent) override
Definition FXSystemSet.cpp:109
virtual void PostRenderOpaque(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleSceneUpdate) override
Definition FXSystemSet.cpp:197
virtual void DestroyGPUSimulation() override
Definition FXSystemSet.cpp:215
virtual void OnMarkPendingKill() override
Definition FXSystemSet.cpp:205
virtual FFXSystemInterface * GetInterface(const FName &InName) override
Definition FXSystemSet.cpp:17
virtual bool UsesDepthBuffer() const override
Definition FXSystemSet.cpp:145
virtual void AddVectorField(UVectorFieldComponent *VectorFieldComponent) override
Definition FXSystemSet.cpp:93
virtual void PreInitViews(FRDGBuilder &GraphBuilder, bool bAllowGPUParticleUpdate, const TArrayView< const FSceneViewFamily * > &ViewFamilies, const FSceneViewFamily *CurrentFamily) override
Definition FXSystemSet.cpp:117
Definition GPUSortManager.h:167
Definition NameTypes.h:617
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneUniformBuffer.h:137
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ArrayView.h:139
Definition Array.h:670
Definition RefCounting.h:454
Definition ShaderParameterMacros.h:136
Definition VectorFieldComponent.h:19
Definition World.h:918
Definition ScreenPass.h:83