Class ParticleEmitterGraphCPUExecutor
The Particle Emitter Graph simulation on a CPU.
Inheritance
Inherited Members
Assembly: FlaxEngine.dll
File: Engine/Particles/Graph/CPU/ParticleEmitterGraph.CPU.h
Syntax
public class ParticleEmitterGraphCPUExecutor : public VisjectExecutor
Constructors
ParticleEmitterGraphCPUExecutor(ParticleEmitterGraphCPU& graph)
Initializes a new instance of the ParticleEmitterGraphCPUExecutor class.
Declaration
public ParticleEmitterGraphCPUExecutor(ParticleEmitterGraphCPU& graph)
Parameters
ParticleEmitterGraphCPU
graph
The graph to execute. |
Methods
ComputeBounds(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, BoundingBox& result)
Computes the local bounds of the particle emitter instance.
Declaration
public bool ComputeBounds(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, BoundingBox& result)
Parameters
ParticleEmitter
emitter
The owning emitter. |
ParticleEffect
effect
The instance effect. |
ParticleEmitterInstance
data
The instance data. |
BoundingBox
result
The result bounding box. |
Returns
bool
True if has valid bounds, otherwise false if failed to calculate it (eg. GPU emitter or not synced or no particles. |
Draw(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, RenderContext& renderContext, Matrix& transform)
Draw the particles (eg. lights).
Declaration
public void Draw(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, RenderContext& renderContext, Matrix& transform)
Parameters
ParticleEmitter
emitter
The owning emitter. |
ParticleEffect
effect
The instance effect. |
ParticleEmitterInstance
data
The instance data. |
RenderContext
renderContext
The rendering context. |
Matrix
transform
The effect transform matrix. |
Update(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, float dt, bool canSpawn)
Updates the particles simulation (the CPU simulation).
Declaration
public void Update(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, float dt, bool canSpawn)
Parameters
ParticleEmitter
emitter
The owning emitter. |
ParticleEffect
effect
The instance effect. |
ParticleEmitterInstance
data
The instance data. |
float
dt
The delta time (in seconds). |
bool
canSpawn
True if can spawn new particles, otherwise will just perform an update. |
UpdateSpawn(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, float dt)
Updates the particles spawning logic (the non-CPU simulation that needs to spawn particles) and returns the amount of particles to add to the simulation.
Declaration
public int32 UpdateSpawn(ParticleEmitter* emitter, ParticleEffect* effect, ParticleEmitterInstance& data, float dt)
Parameters
ParticleEmitter
emitter
The owning emitter. |
ParticleEffect
effect
The instance effect. |
ParticleEmitterInstance
data
The instance data. |
float
dt
The simulation delta time (in seconds). |
Returns
int32
The particles to spawn count |