132 struct FFXInterfaceDeletor
187 UE_DEPRECATED(5.7,
"Destroy is no longer supported, please update your code call MarkPendingKill")
200 virtual void Suspend() = 0;
206 virtual void Resume() = 0;
230 UE_DEPRECATED(5.3,
"Passing FViewInfo is deprecated in favor of FSceneView. This function will do nothing.")
238 UE_DEPRECATED(5.3,
"Passing FViewInfo is deprecated in favor of FSceneView. This function will do nothing.")
267 UE_DEPRECATED(5.3,
"Passing an array of FViewInfo is deprecated in favor of FSceneView. This function will do nothing.")
284 UE_DEPRECATED(5.3,
"Passing an array of FViewInfo is deprecated in favor of FSceneView. This function will do nothing.")
292 UE_DEPRECATED(5.3,
"Passing an array of FViewInfo is deprecated in favor of FSceneView. This function will do nothing.")
317 bool bIsPendingKill =
false;
351#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_ThreeParams(ReturnValueType, DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:72
void BeginReleaseGPUSpriteResources(FGPUSpriteResources *Resources)
Definition ParticleGpuSimulation.cpp:5434
bool SupportsGPUParticles(EShaderPlatform Platform)
Definition FXSystem.h:100
void BeginUpdateGPUSpriteResources(FGPUSpriteResources *Resources, const FGPUSpriteResourceData &InResourceData)
Definition ParticleGpuSimulation.cpp:5426
bool RHISupportsGPUParticles()
Definition FXSystem.h:111
FGPUSpriteResources * BeginCreateGPUSpriteResources(const FGPUSpriteResourceData &InResourceData)
Definition ParticleGpuSimulation.cpp:5409
#define GSupportsTexture3D
Definition RHIGlobals.h:802
#define GSupportsWideMRT
Definition RHIGlobals.h:806
Definition CanvasTypes.h:211
Definition FXSystem.h:131
virtual FGPUSortManager * GetGPUSortManager() const =0
virtual void PostInitViews(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, bool bAllowGPUParticleUpdate)=0
virtual void DrawSceneDebug_RenderThread(FRDGBuilder &GraphBuilder, const FSceneView &View, FRDGTextureRef SceneColor, FRDGTextureRef SceneDepth)
Definition FXSystem.h:236
static ENGINE_API void QueueDestroyGPUSimulation(FFXSystemInterface *FXSystem)
Definition FXSystem.cpp:97
virtual void OnDestroy() final
Definition FXSystem.h:192
void SetSceneInterface(FSceneInterface *InSceneInterface)
Definition FXSystem.h:303
virtual void Tick(UWorld *World, float DeltaSeconds)=0
virtual ~FFXSystemInterface()
Definition FXSystem.h:313
FSceneInterface * GetSceneInterface() const
Definition FXSystem.h:302
virtual void DrawDebug(FCanvas *Canvas)=0
bool IsPendingKill() const
Definition FXSystem.h:295
virtual void PreRender(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleUpdate)=0
virtual bool ShouldDebugDraw_RenderThread() const
Definition FXSystem.h:219
virtual void DrawDebug_RenderThread(FRDGBuilder &GraphBuilder, const FSceneView &View, const struct FScreenPassRenderTarget &Output)
Definition FXSystem.h:228
virtual void PreInitViews(FRDGBuilder &GraphBuilder, bool bAllowGPUParticleUpdate, const TArrayView< const FSceneViewFamily * > &ViewFamilies, const FSceneViewFamily *CurrentFamily)=0
virtual void OnMarkPendingKill()
Definition FXSystem.h:174
virtual bool UsesDepthBuffer() const =0
virtual void PostRenderOpaque(FRDGBuilder &GraphBuilder, TConstStridedView< FSceneView > Views, FSceneUniformBuffer &SceneUniformBuffer, bool bAllowGPUParticleUpdate)=0
static ENGINE_API void MarkPendingKill(FFXSystemInterface *FXSystem)
Definition FXSystem.cpp:107
virtual bool RequiresRayTracingScene() const =0
void SetScene(FScene *InScene)
Definition FXSystem.h:306
virtual void AddVectorField(UVectorFieldComponent *VectorFieldComponent)=0
virtual bool RequiresEarlyViewUniformBuffer() const =0
virtual void UpdateVectorField(UVectorFieldComponent *VectorFieldComponent)=0
virtual void SetSceneTexturesUniformBuffer(const TUniformBufferRef< FSceneTextureUniformParameters > &InSceneTexturesUniformParams)
Definition FXSystem.h:300
static ENGINE_API void RegisterCustomFXSystem(const FName &InterfaceName, const FCreateCustomFXSystemDelegate &InCreateDelegate)
Definition FXSystem.cpp:118
virtual void RemoveVectorField(UVectorFieldComponent *VectorFieldComponent)=0
virtual void DestroyGPUSimulation()
Definition FXSystem.h:179
static ENGINE_API void UnregisterCustomFXSystem(const FName &InterfaceName)
Definition FXSystem.cpp:123
virtual FFXSystemInterface * GetInterface(const FName &InName)
Definition FXSystem.h:168
virtual bool UsesGlobalDistanceField() const =0
FScene * GetScene() const
Definition FXSystem.h:305
Definition FXSystemSet.h:20
Definition GPUSortManager.h:167
Definition ParticleGpuSimulation.cpp:2708
Definition GlobalDistanceFieldParameters.h:18
Definition NameTypes.h:617
Definition PrimitiveDrawInterface.h:19
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneInterface.h:106
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition VectorField.h:102
Definition VectorField.h:38
Definition SceneRendering.h:1132
Definition ArrayView.h:139
Definition IConsoleManager.h:1792
Definition UnrealString.h.inl:34
Definition SharedPointer.h:1640
Definition VectorFieldComponent.h:19
Definition VectorField.h:16
Type
Definition RHIFeatureLevel.h:20
Definition FXSystem.cpp:133
float ParticleSlackGPU
Definition FXSystem.cpp:140
int32 bFreezeParticleSimulation
Definition FXSystem.cpp:138
TAutoConsoleVariable< int32 > TestGPUSort(TEXT("FX.TestGPUSort"), 0, TEXT("Test GPU sort. 1: Small, 2: Large, 3: Exhaustive, 4: Random"), ECVF_Cheat)
Definition FXSystem.h:92
int32 MaxParticleTilePreAllocation
Definition FXSystem.cpp:141
float GPUCollisionDepthBounds
Definition FXSystem.cpp:145
int32 VisualizeGPUSimulation
Definition FXSystem.cpp:134
int32 GPUSpawnWarningThreshold
Definition FXSystem.cpp:144
int32 bAllowAsyncTick
Definition FXSystem.cpp:139
int32 MaxGPUParticlesSpawnedPerFrame
Definition FXSystem.cpp:143
int32 bAllowGPUSorting
Definition FXSystem.cpp:135
int32 bAllowCulling
Definition FXSystem.cpp:136
int32 bFreezeGPUSimulation
Definition FXSystem.cpp:137
int32 bAllowGPUParticles
Definition FXSystem.cpp:222
int32 MaxCPUParticlesPerEmitter
Definition FXSystem.cpp:142
Definition ParticleModuleTypeDataGpu.h:95
Definition ParticleModuleTypeDataGpu.h:251
Definition ParticleEmitterInstances.h:226
Definition ScreenPass.h:83