Module |
|
Header |
/Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraGPUInstanceCountManager.h |
Include |
#include "NiagaraGPUInstanceCountManager.h" |
class FNiagaraGPUInstanceCountManager
A manager that handles the buffer containing the GPU particle count. Also provides related functionalities like the generation of the draw indirect buffer.
Name | Description | ||
---|---|---|---|
|
AllocatedDrawIndirectArgs |
The allocated indirect args in DrawIndirectBuffer (each being 5 uint32) |
|
|
AllocatedInstanceCounts |
The allocated instance counts in CountBuffer |
|
|
float |
BufferSlack |
Buffer slack size hysteresis used to managed the size of CountBuffer and DrawIndirectBuffer. |
|
CountBuffer |
A buffer holding the each emitter particle count after a simulation tick. |
|
|
CountReadback |
||
|
CountReadbackSize |
||
|
DrawIndirectArgGenTasks |
||
|
DrawIndirectArgMap |
The map between each task FArgGenTaskInfo and entry offset from DrawIndirectArgGenTasks. |
|
|
DrawIndirectBuffer |
A buffer holding drawindirect data to render GPU emitter renderers. |
|
|
FreeEntries |
||
|
InstanceCountClearTasks |
The list of all instance count clear tasks that are to be run in UpdateDrawIndirectBuffer() |
|
|
TRefCountPtr< F... |
NumRegisteredGPURenderers |
The number of GPU renderer. It defines the max possible required draw indirect args count |
|
UsedInstanceCounts |
The current used instance counts allocated from FNiagaraDataBuffer::AllocateGPU() |
Name | Description | |
---|---|---|
|
FNiagaraGPUInstanceCountManager() |
Name | Description | |
---|---|---|
|
~FNiagaraGPUInstanceCountManager() |
Name | Description | ||
---|---|---|---|
|
AcquireEntry() |
||
|
AddDrawIndirect |
Add a draw indirect task to generate the draw indirect args. |
|
|
EnqueueGPUReadback ( |
||
|
FreeEntry ( |
Free the entry and reset it to INDEX_NONE if valid. |
|
|
GetDrawIndirectBuffer() |
||
|
const uint32... |
GetGPUReadback() |
|
|
const TRefCo... |
GetGPURendererCount() |
Update the max possible required draw indirect args (one per renderer). |
|
GetInstanceCountBuffer() |
||
|
HasPendingGPUReadback() |
||
|
InitRHI() |
Init resource for the first time. |
|
|
ReleaseGPUReadback() |
||
|
ReleaseRHI() |
Free resources. |
|
|
ResizeBuffers ( |
Resize instance count and draw indirect buffers to ensure it is big enough to hold all draw indirect args. |
|
|
UpdateDrawIndirectBuffer ( |
Generate the draw indirect buffers, and reset all release counts. |
Name |
Description |
---|---|
FArgGenTaskInfo |
The list of all draw indirected tasks that are to be run in UpdateDrawIndirectBuffer() |