FNiagaraComputeExecutionContext

Choose your operating system:

Windows

macOS

Linux

References

Module

Niagara

Header

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

Include

#include "NiagaraComputeExecutionContext.h"

Syntax

struct FNiagaraComputeExecutionContext

Variables

Name Description

Public variable

bool

 

bHasTickedThisFrame_RT

Used to track if we have processed any ticks for this context this frame.

Public variable

bool

 

bResetPending_GT

Do we have a reset pending, controlled by the game thread and passed to instance data.

Public variable

uint32

 

BufferSwapsThisFrame_RT

Public variable

FNiagaraScriptI...

 

CombinedParamStore

Dynamic state updated either from GT via RT commands or from the RT side sim code itself.

Public variable

uint32

 

CountOffset_RT

Public variable

uint32

 

CPUCount

The CPU instance count at the time the GPU count readback was issued. Always bigger or equal to the GPU count.

Public variable

uint32

 

CurrentMaxAllocateInstances_RT

The current maximum instances we should allocate on the RT.

Public variable

uint32

 

CurrentMaxInstances_RT

The current maximum of instances on the RT.

Public variable

uint32

 

CurrentNumInstances_RT

The current number of instances on the RT Before ticks are processed on the RT this will be CurrentData's NumInstances As ticks are processed (or we generated the tick batches) this will change and won't be accurate until dispatches are executed

Public variable

FNiagaraDataBuf...

 

DataBuffers_RT

Public variable

TArray< FNiagar...

 

DataInterfaceProxies

Public variable

FNiagaraDataBuf...

 

DataSetOriginalBuffer_RT

Used only when we multi-tick and need to keep track of pointing back to the correct FNiagaraDataBuffer.

Public variable

FNiagaraDataBuf...

 

DataToRender

Most current buffer that can be used for rendering.

Public variable

FName

 

DebugSimFName

Public variable

FString

 

DebugSimName

Public variable

TArray< FString...

 

DIClassNames

Public variable

FNiagaraCompute...

 

EmitterInstanceReadback

Public variable

TRefCountPtr< F...

 

ExternalCBufferLayout

Public variable

uint32

 

ExternalCBufferLayoutSize

Persistent layouts used to create the constant buffers for the compute sim shader

Public variable

uint32

 

FinalDispatchGroup_RT

Public variable

uint32

 

FinalDispatchGroupInstance_RT

Public variable

uint32

 

GPUCountOffset

The offset at which the GPU instance count (see FNiagaraGPUInstanceCountManager()).

Public variable

UNiagaraScript ...

 

GPUScript

Public variable

FNiagaraShaderS...

 

GPUScript_RT

Public variable

FNiagaraGpuSpaw...

 

GpuSpawnInfo_GT

Game thread spawn info will be sent to the render thread inside FNiagaraComputeInstanceData.

Public variable

bool

 

HasInterpolationParameters

Public variable

FNiagaraDataSet...

 

MainDataSet

Public variable

uint32

 

ParticleCountReadFence

Particle count read fence, used to allow us to snoop the count written by the render thread but also avoid racing on a reset value.

Public variable

uint32

 

ParticleCountWriteFence

Public variable

TWeakObjectPtr<...

 

ProfilingComponentPtr

Public variable

TWeakObjectPtr<...

 

ProfilingEmitterPtr

Public variable

TArray< FSimula...

 

SimStageInfo

Public variable

FNiagaraDataBuf...

 

TranslucentDataToRender

Optional buffer which can be used to render translucent data with no latency (i.e. this frames data)

Constructors

Destructors

Functions

Name Description

Public function

void

 

AdvanceDataBuffer()

Public function

void

 

DirtyDataInterfaces()

Public function Const

FNiagaraData...

 

FindIterationInterface

(
    const TArray< FNiagaraDataInterface...,
    uint32 SimulationStageIndex
)

Public function Const

const TArray...

 

GetDataInterfaces()

Public function Const

FNiagaraData...

 

GetDataToRender

(
    bool bIsLowLatencyTranslucent
)

Public function Const

FName

 

GetDebugSimFName()

Public function Const

const TCHAR ...

 

GetDebugSimName()

Public function

FNiagaraData...

 

GetNextDataBuffer()

Public function

FNiagaraData...

 

GetPrevDataBuffer()

Render thread data.

Public function Const

bool

 

HasTranslucentDataToRender()

Public function

void

 

InitParams

(
    UNiagaraScript* InGPUComputeSc...,
    ENiagaraSimTarget InSimTarget
)

Public function Const

bool

 

IsIterationStage

(
    FNiagaraDataInterfaceProxy* DI...,
    uint32 SimulationStageIndex
)

Public function Const

bool

 

IsOutputStage

(
    FNiagaraDataInterfaceProxy* DI...,
    uint32 SimulationStageIndex
)

Public function

bool

 

OptionalContexInit

(
    FNiagaraSystemInstance* Parent...
)

Public function

void

 

PostTick()

Public function

void

 

Reset

Public function

void

 

ResetInternal

Public function

void

 

SetDataToRender

(
    FNiagaraDataBuffer* InDataToRe...
)

Public function

void

 

SetDebugSimName

(
    const TCHAR* InDebugSimName
)

Public function

void

 

SetTranslucentDataToRender

(
    FNiagaraDataBuffer* InTransluc...
)

Public function

bool

 

Tick

(
    FNiagaraSystemInstance* Parent...
)

Constants

Name

Description

TickCounter