FFXSystemInterface

The interface to an effects system.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/FXSystem.h

Include

#include "FXSystem.h"

Syntax

class FFXSystemInterface

Remarks

The interface to an effects system.

Destructors

Name Description

Protected function Virtual

~FFXSystemInterface()

By making the destructor protected, an instance must be destroyed via FFXSystemInterface::Destroy.

Functions

Name Description

Public function

void

 

AddVectorField

(
    UVectorFieldComponent* VectorF...
)

Add a vector field to the FX system.

Public function Static

FFXSystemInt...

 

Create

(
    ERHIFeatureLevel::Type InFeatureLev...,
    FSceneInterface* Scene
)

Create an effects system instance.

Public function Static

void

 

Destroy

(
    FFXSystemInterface* FXSystem
)

Destroy an effects system instance.

Public function Virtual

void

 

DestroyGPUSimulation()

Gamethread callback when destroy gets called, allows to clean up references.

Public function

void

 

DrawDebug

(
    FCanvas* Canvas
)

Draw desired debug information related to the effects system.

Public function Virtual

void

 

DrawDebug_RenderThread

(
    FRDGBuilder& GraphBuilder,
    const FViewInfo& View,
    const FScreenPassRenderTarget& Out...
)

Draw desired debug information related to the effects system on the render thread.

Public function Virtual

void

 

DrawSceneDebug_RenderThread

(
    FRDGBuilder& GraphBuilder,
    const FViewInfo& View,
    FRDGTextureRef SceneColor,
    FRDGTextureRef SceneDepth
)

Call to handle debug drawing to the scene (i.e. where depth is available)

Public function Const

FGPUSortMana...

 

GetGPUSortManager()

Get the shared SortManager, used in the rendering loop to call FGPUSortManager::OnPreRender() and FGPUSortManager::OnPostRenderOpaque()

Public function Virtual

FFXSystemInt...

 

GetInterface

(
    const FName& InName
)

Return the interface bound to the given name.

Protected function Static

bool

 

GetReferenceAllowGPUUpdate

(
    TConstArrayView< FViewInfo > Views
)

Protected function Static

const FGloba...

 

GetReferenceGlobalDistanceFieldData

(
    TConstArrayView< FViewInfo > Views
)

Protected function Static

FRHIUniformB...

 

GetReferenceViewUniformBuffer

(
    TConstArrayView< FViewInfo > Views
)

Public function Const

FScene *

 

GetScene()

Public function Const

bool

 

IsPendingKill()

Public function Virtual

void

 

OnDestroy()

Gamethread callback when destroy gets called, allows to clean up references.

Public function

void

 

PostInitViews

(
    FRDGBuilder& GraphBuilder,
    TConstArrayView< FViewInfo > Views,
    bool bAllowGPUParticleUpdate
)

Public function

void

 

PostRenderOpaque

(
    FRDGBuilder& GraphBuilder,
    TConstArrayView< FViewInfo > Views,
    bool bAllowGPUParticleUpdate
)

Notification from the renderer that opaque primitives have rendered.

Public function

void

 

PreInitViews

(
    FRDGBuilder& GraphBuilder,
    bool bAllowGPUParticleUpdate
)

Notification from the renderer that it is about to perform visibility checks on FX belonging to this system.

Public function

void

 

PreRender

(
    FRDGBuilder& GraphBuilder,
    TConstArrayView< FViewInfo > Views,
    bool bAllowGPUParticleUpdate
)

Notification from the renderer that it is about to draw FX belonging to this system.

Public function Static

void

 

QueueDestroyGPUSimulation

(
    FFXSystemInterface* FXSystem
)

Queue Destroy the gpu simulation on the render thread

Public function Static

void

 

RegisterCustomFXSystem

(
    const FName& InterfaceName,
    const FCreateCustomFXSystemDelegate...
)

Register a custom FX system implementation.

Public function

void

 

RemoveVectorField

(
    UVectorFieldComponent* VectorF...
)

Remove a vector field from the FX system.

Public function Const

bool

 

RequiresEarlyViewUniformBuffer()

Public function Const

bool

 

RequiresRayTracingScene()

Public function

void

 

Resume()

Resume the FX system. Has no effect if the system was not suspended.

Public function

void

 

SetScene

(
    FScene* InScene
)

Public function Virtual

void

 

SetSceneTexturesUniformBuffer

(
    FRHIUniformBuffer* InSceneText...
)

Public function Virtual Const

bool

 

ShouldDebugDraw_RenderThread()

Does the FX system require DrawDebug_RenderThread to be called at all? There is cost to enabling this so only return true when we have something to present.

Public function

void

 

Suspend()

Suspend the FX system.

Public function

void

 

Tick

(
    UWorld* World,
    float DeltaSeconds
)

Tick the effects system.

Public function Static

void

 

UnregisterCustomFXSystem

(
    const FName& InterfaceName
)

Unregister a custom FX system implementation.

Public function

void

 

UpdateVectorField

(
    UVectorFieldComponent* VectorF...
)

Update a vector field registered with the FX system.

Public function Const

bool

 

UsesDepthBuffer()

Public function Const

bool

 

UsesGlobalDistanceField()

Constants

Name

Description

CreateCustomFXDelegates