NiagaraEmitterInstanceBatcher

Windows
MacOS
Linux

Inheritance Hierarchy

FFXSystemInterface

NiagaraEmitterInstanceBatcher

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraEmitterInstanceBatcher.h

Include

#include "NiagaraEmitterInstanceBatcher.h"

Syntax

class NiagaraEmitterInstanceBatcher : public FFXSystemInterface

Constructors

Name Description

Public function

NiagaraEmitterInstanceBatcher

(
    ERHIFeatureLevel::Type InFeatureLev...,
    EShaderPlatform InShaderPlatform,
    FGPUSortManager* InGPUSortMana...
)

Destructors

Functions

Name Description

Public function

void

 

AddDebugReadback

(
    FNiagaraSystemInstanceID InstanceID,
    TSharedPtr< struct FNiagaraScriptDe...,
    FNiagaraComputeExecutionContext...
)

Debug only function to readback data.

Public function

void

 

AddGpuComputeProxy

Add system instance proxy to the batcher for tracking.

Public function

bool

 

AddSortedGPUSimulation

(
    FNiagaraGPUSortInfo& SortInfo
)

Register work for GPU sorting (using the GPUSortManager).

Public function Const

FNiagaraData...

 

FindIterationInterface

(
    FNiagaraComputeInstanceData* I...,
    const uint32 SimulationStageIndex
)

Given a shader stage index, find the corresponding data interface

Public function Const

FRHIUnordere...

 

GetEmptyUAVFromPool

(
    FRHICommandList& RHICmdList,
    EPixelFormat Format,
    ENiagaraEmptyUAVType Type
)

Grab a temporary dummy RW buffer from the pool.

Public function Const

ERHIFeatureL...

 

GetFeatureLevel()

Public function Const

const FGloba...

 

GetGlobalDistanceFieldParameters()

Public function Const

FNiagaraGpuC...

 

GetGpuComputeDebug()

Get the Gpu Compute Debug class, useful for visualizing textures, etc.

Public function

FNiagaraGPUI...

 

GetGPUInstanceCounterManager()

Public function Const

FNiagaraGpuR...

 

GetGpuReadbackManager()

Public function Const

EShaderPlatf...

 

GetShaderPlatform()

Public function Const

void

 

PostSimulateInterface

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...
)

Loop over all data interfaces and call the post-simulate methods

Public function Const

void

 

PostStageInterface

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...,
    const FNiagaraSimStageData& SimSta...
)

Loop over all the data interfaces and call the post-stage methods

Public function Const

void

 

PreStageInterface

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...,
    const FNiagaraSimStageData& SimSta...
)

Loop over all the data interfaces and call the pre-stage methods

Public function

void

 

ProcessDebugReadbacks

(
    FRHICommandListImmediate& RHICmdLi...,
    bool bWaitCompletion
)

Processes all pending readbacks

Public function

void

 

ProcessPendingTicksFlush

(
    FRHICommandListImmediate& RHICmdLi...,
    bool bForceFlush
)

Process and respond to a build up of excessive ticks inside the batcher.

Public function

void

 

RemoveGpuComputeProxy

Remove system instance proxy from the batcher.

Public function Const

void

 

ResetDataInterfaces

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...
)

Reset the data interfaces and check if the spawn stages are valid

Public function Const

void

 

SetDataInterfaceParameters

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...,
    const FNiagaraShaderRef& ComputeSh...,
    const FNiagaraSimStageData& SimSta...
)

Public function Const

void

 

UnsetDataInterfaceParameters

(
    FRHICommandList& RHICmdList,
    const FNiagaraGPUSystemTick& Tick,
    const FNiagaraComputeInstanceData&...,
    const FNiagaraShaderRef& ComputeSh...,
    const FNiagaraSimStageData& SimSta...
)

Overridden from FFXSystemInterface

Name Description

Public function Virtual

void

 

AddVectorField

(
    UVectorFieldComponent* VectorF...
)

Add a vector field to the FX system.

Public function Virtual

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 Virtual 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.

Public function Virtual

void

 

OnDestroy()

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

Public function Virtual

void

 

PostInitViews

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIUniformBuffer* ViewUniform...,
    bool bAllowGPUParticleUpdate
)

Public function Virtual

void

 

PostRenderOpaque

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIUniformBuffer* ViewUniform...,
    const FShaderParametersMetadata...,
    FRHIUniformBuffer* SceneTextur...,
    bool bAllowGPUParticleUpdate
)

Notification from the renderer that opaque primitives have rendered.

Public function Virtual

void

 

PreInitViews

(
    FRHICommandListImmediate& RHICmdLi...,
    bool bAllowGPUParticleUpdate
)

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

Public function Virtual

void

 

PreRender

(
    FRHICommandListImmediate& RHICmdLi...,
    const FGlobalDistanceFieldParameter...,
    bool bAllowGPUParticleSceneUpdate
)

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

Public function Virtual

void

 

RemoveVectorField

(
    UVectorFieldComponent* VectorF...
)

Remove a vector field from the FX system.

Public function Virtual Const

bool

 

RequiresEarlyViewUniformBuffer()

Public function Virtual

void

 

Resume()

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

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 Virtual

void

 

Suspend()

Suspend the FX system.

Public function Virtual

void

 

Tick

(
    float DeltaSeconds
)

Tick the effects system.

Public function Virtual

void

 

UpdateVectorField

(
    UVectorFieldComponent* VectorF...
)

Update a vector field registered with the FX system.

Public function Virtual Const

bool

 

UsesDepthBuffer()

Public function Virtual Const

bool

 

UsesGlobalDistanceField()

Constants

Name

Description

Name

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss