Navigation
API > API/Plugins > API/Plugins/Niagara
| Name | FNiagaraComputeExecutionContext |
| Type | struct |
| Header File | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraComputeExecutionContext.h |
| Include Path | #include "NiagaraComputeExecutionContext.h" |
Syntax
struct FNiagaraComputeExecutionContext : public INiagaraComputeDataBufferInterface
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNiagaraComputeExecutionContext() |
NiagaraComputeExecutionContext.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FNiagaraComputeExecutionContext() |
NiagaraComputeExecutionContext.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TickCounter | uint32 | NiagaraComputeExecutionContext.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bHasTickedThisFrame_RT | bool | Used to track if we have processed any ticks for this context this frame. | NiagaraComputeExecutionContext.h | |
| bResetPending_GT | bool | Do we have a reset pending, controlled by the game thread and passed to instance data. | NiagaraComputeExecutionContext.h | |
| BufferSwapsThisFrame_RT | uint32 | NiagaraComputeExecutionContext.h | ||
| CombinedParamStore | FNiagaraScriptInstanceParameterStore | Dynamic state updated either from GT via RT commands or from the RT side sim code itself. | NiagaraComputeExecutionContext.h | |
| CountOffset_RT | uint32 | NiagaraComputeExecutionContext.h | ||
| CPUCount | uint32 | The CPU instance count at the time the GPU count readback was issued. Always bigger or equal to the GPU count. | NiagaraComputeExecutionContext.h | |
| CurrentMaxAllocateInstances_RT | uint32 | The current maximum instances we should allocate on the RT. | NiagaraComputeExecutionContext.h | |
| CurrentMaxInstances_RT | uint32 | The current maximum of instances on the RT. | NiagaraComputeExecutionContext.h | |
| CurrentNumInstances_RT | uint32 | 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 | NiagaraComputeExecutionContext.h | |
| DataBuffers_RT | FNiagaraDataBuffer * | NiagaraComputeExecutionContext.h | ||
| DataInterfaceProxies | TArray< FNiagaraDataInterfaceProxy * > | NiagaraComputeExecutionContext.h | ||
| DataSetOriginalBuffer_RT | FNiagaraDataBuffer * | Used only when we multi-tick and need to keep track of pointing back to the correct FNiagaraDataBuffer. | NiagaraComputeExecutionContext.h | |
| DataToRender | FNiagaraDataBufferRef | Most current buffer that can be used for rendering. | NiagaraComputeExecutionContext.h | |
| DebugSimFName | FName | NiagaraComputeExecutionContext.h | ||
| DebugSimName | FString | NiagaraComputeExecutionContext.h | ||
| DIClassNames | TArray< FName > | NiagaraComputeExecutionContext.h | ||
| EmitterInstanceReadback | FNiagaraComputeExecutionContext | NiagaraComputeExecutionContext.h | ||
| ExternalCBufferLayout | TRefCountPtr< FNiagaraRHIUniformBufferLayout > | NiagaraComputeExecutionContext.h | ||
| ExternalCBufferLayoutSize | uint32 | Persistent layouts used to create the constant buffers for the compute sim shader | NiagaraComputeExecutionContext.h | |
| FinalDispatchGroup_RT | uint32 | NiagaraComputeExecutionContext.h | ||
| FinalDispatchGroupInstance_RT | uint32 | NiagaraComputeExecutionContext.h | ||
| GPUCountOffset | uint32 | The offset at which the GPU instance count (see FNiagaraGPUInstanceCountManager()). | NiagaraComputeExecutionContext.h | |
| GPUScript | UNiagaraScript * | NiagaraComputeExecutionContext.h | ||
| GPUScript_RT | FNiagaraShaderScript * | NiagaraComputeExecutionContext.h | ||
| GpuSpawnInfo_GT | FNiagaraGpuSpawnInfo | Game thread spawn info will be sent to the render thread inside FNiagaraComputeInstanceData. | NiagaraComputeExecutionContext.h | |
| HasInterpolationParameters | bool | NiagaraComputeExecutionContext.h | ||
| MainDataSet | FNiagaraDataSet * | NiagaraComputeExecutionContext.h | ||
| ParticleCountReadFence | uint32 | 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. | NiagaraComputeExecutionContext.h | |
| ParticleCountWriteFence | uint32 | NiagaraComputeExecutionContext.h | ||
| ProfilingComponentPtr | TWeakObjectPtr< class USceneComponent > | NiagaraComputeExecutionContext.h | ||
| ProfilingEmitterPtr | FVersionedNiagaraEmitterWeakPtr | NiagaraComputeExecutionContext.h | ||
| SimStageExecData | FNiagaraSimStageExecutionDataPtr | NiagaraComputeExecutionContext.h | ||
| TranslucentDataToRender | FNiagaraDataBufferRef | Optional buffer which can be used to render translucent data with no latency (i.e. this frames data) | NiagaraComputeExecutionContext.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AdvanceDataBuffer() |
NiagaraComputeExecutionContext.h | ||
void DirtyDataInterfaces() |
NiagaraComputeExecutionContext.h | ||
FNiagaraDataInterfaceProxyRW * FindIterationInterface
(
const TArray< FNiagaraDataInterfaceProxyRW* >& InProxies, |
NiagaraComputeExecutionContext.h | ||
int32 GetConstantBufferSize() |
NiagaraComputeExecutionContext.h | ||
const TArray< UNiagaraDataInterface * > & GetDataInterfaces() |
NiagaraComputeExecutionContext.h | ||
FName GetDebugSimFName() |
NiagaraComputeExecutionContext.h | ||
const TCHAR * GetDebugSimName() |
NiagaraComputeExecutionContext.h | ||
FNiagaraDataBuffer * GetNextDataBuffer() |
NiagaraComputeExecutionContext.h | ||
FNiagaraDataBuffer * GetPrevDataBuffer() |
Render thread data. | NiagaraComputeExecutionContext.h | |
void InitParams
(
UNiagaraScript* InGPUComputeScript, |
NiagaraComputeExecutionContext.h | ||
bool IsInputStage
(
FNiagaraDataInterfaceProxy* DIProxy, |
NiagaraComputeExecutionContext.h | ||
bool IsIterationStage
(
FNiagaraDataInterfaceProxy* DIProxy, |
NiagaraComputeExecutionContext.h | ||
bool IsOutputStage
(
FNiagaraDataInterfaceProxy* DIProxy, |
NiagaraComputeExecutionContext.h | ||
bool OptionalContexInit
(
FNiagaraSystemInstance* ParentSystemInstance |
NiagaraComputeExecutionContext.h | ||
void PostTick() |
NiagaraComputeExecutionContext.h | ||
void Reset
(
FNiagaraGpuComputeDispatchInterface* ComputeDispatchInterface |
NiagaraComputeExecutionContext.h | ||
void ResetInternal
(
FNiagaraGpuComputeDispatchInterface* ComputeDispatchInterface |
NiagaraComputeExecutionContext.h | ||
void SetDataToRender
(
FNiagaraDataBuffer* InDataToRender |
NiagaraComputeExecutionContext.h | ||
void SetDebugSimName
(
const TCHAR* InDebugSimName, |
NiagaraComputeExecutionContext.h | ||
void SetTranslucentDataToRender
(
FNiagaraDataBuffer* InTranslucentDataToRender |
NiagaraComputeExecutionContext.h | ||
bool Tick
(
FNiagaraSystemInstance* ParentSystemInstance |
NiagaraComputeExecutionContext.h | ||
uint8 * WriteConstantBufferInstanceData
(
uint8* InTargetBuffer, |
NiagaraComputeExecutionContext.h |
Overridden from INiagaraComputeDataBufferInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FNiagaraDataBuffer * GetDataToRender
(
FRHICommandListBase& RHICmdList, |
NiagaraComputeExecutionContext.h | ||
virtual bool HasTranslucentDataToRender() |
NiagaraComputeExecutionContext.h |