FNiagaraGpuComputeDispatchInterface

Public API for Niagara's Compute Dispatcher This is generally used with DataInterfaces or Custom Renderers

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

FFXSystemInterface

FNiagaraGpuComputeDispatchInterface

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Public/NiagaraGpuComputeDispatchInterface.h

Include

#include "NiagaraGpuComputeDispatchInterface.h"

Syntax

class FNiagaraGpuComputeDispatchInterface : public FFXSystemInterface

Remarks

Public API for Niagara's Compute Dispatcher This is generally used with DataInterfaces or Custom Renderers

Variables

Name Description

Protected variable

TUniquePtr< FNi...

 

EmptyUAVPoolPtr

Protected variable

ERHIFeatureLeve...

 

FeatureLevel

Protected variable

TUniquePtr< FNi...

 

GpuComputeDebugPtr

Protected variable

FNiagaraGPUInst...

 

GPUInstanceCounterManager

GPU emitter instance count buffer. Contains the actual particle / instance count generate in the GPU tick.

Protected variable

TUniquePtr< FNi...

 

GpuReadbackManagerPtr

Protected variable

EShaderPlatform

 

ShaderPlatform

Constructors

Name Description

Public function

FNiagaraGpuComputeDispatchInterface

(
    EShaderPlatform InShaderPlatform,
    ERHIFeatureLevel::Type InFeatureLev...
)

Destructors

Functions

Name Description

Public function

void

 

AddDebugReadback

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

void

 

FlushPendingTicks_GameThread()

Call this to force all pending ticks to be flushed from the batcher.

Public function Static

FNiagaraGpuC...

 

Get

(
    FFXSystemInterface* FXSceneInt...
)

Public function Static

FNiagaraGpuC...

 

Get

(
    FSceneInterface* Scene
)

Public function Static

FNiagaraGpuC...

 

Get

(
    UWorld* World
)

Public function Const

FRHIUnordere...

 

GetEmptyUAVFromPool

(
    FRHICommandList& RHICmdList,
    EPixelFormat Format,
    ENiagaraEmptyUAVType Type
)

Convenience wrapped to get a UAV from the poo.

Public function Const

FNiagaraEmpt...

 

GetEmptyUAVPool()

Get access to Niagara's GpuReadbackManager.

Public function Const

ERHIFeatureL...

 

GetFeatureLevel()

Get FeatureLevel the batcher is bound to

Public function Const

FNiagaraGpuC...

 

GetGpuComputeDebug()

Get access to Niagara's GpuComputeDebug

Public function

FNiagaraGPUI...

 

GetGPUInstanceCounterManager()

Get access to the instance count manager.

Public function Const

const FNiaga...

 

GetGPUInstanceCounterManager()

Public function Const

FNiagaraGPUP...

 

GetGPUProfiler()

Access to Niagara's GPU Profiler

Public function Const

FNiagaraGpuR...

 

GetGpuReadbackManager()

Get access to Niagara's GpuReadbackManager.

Public function Const

EShaderPlatf...

 

GetShaderPlatform()

Get ShaderPlatform the batcher is bound to

Public function

void

 

ProcessDebugReadbacks

(
    FRHICommandListImmediate& RHICmdLi...,
    bool bWaitCompletion
)

Processes all pending debug readbacks

Public function

void

 

RemoveGpuComputeProxy

Remove system instance proxy from the batcher.