C# Class Myre.Graphics.Particles.ParticleSystem

A class which manages and updating and rendering of particles.
Show file Open project: TomGillen/Myre

Public Methods

Method Description
Draw ( RendererMetadata data ) : void
GrowCapacity ( int size ) : void

Increases the capacity of this system by the specified amount.

Initialise ( ParticleSystemDescription description ) : void

Initialises this ParticleSystem instance.

ParticleSystem ( GraphicsDevice device ) : System

Initializes a new instance of the ParticleSystem class.

Spawn ( Vector3 position, Vector3 velocity, float angularVelocity, float size, float lifetimeScale, Color startColour, Color endColour ) : void

Spawns a new particle.

Update ( float dt ) : void

Private Methods

Method Description
AddNewParticlesToVertexBuffer ( ) : void

Helper for uploading new particles from our managed array to the GPU vertex buffer.

FreeRetiredParticles ( ) : void

Helper for checking when retired particles have been kept around long enough that we can be sure the GPU is no longer using them. It moves old particles from the retired area of the queue to the free section.

InitialiseBuffer ( ) : void
RetireActiveParticles ( ) : void

Helper for checking when active particles have reached the end of their life. It moves old particles from the active area of the queue to the retired section.

SelectParticleType ( ) : void

Method Details

Draw() public method

public Draw ( RendererMetadata data ) : void
data RendererMetadata
return void

GrowCapacity() public method

Increases the capacity of this system by the specified amount.
public GrowCapacity ( int size ) : void
size int The amount by which to increase the capacity.
return void

Initialise() public method

Initialises this ParticleSystem instance.
public Initialise ( ParticleSystemDescription description ) : void
description ParticleSystemDescription
return void

ParticleSystem() public method

Initializes a new instance of the ParticleSystem class.
public ParticleSystem ( GraphicsDevice device ) : System
device GraphicsDevice The device.
return System

Spawn() public method

Spawns a new particle.
public Spawn ( Vector3 position, Vector3 velocity, float angularVelocity, float size, float lifetimeScale, Color startColour, Color endColour ) : void
position Vector3 The position.
velocity Vector3 The velocity.
angularVelocity float The angular velocity.
size float The size.
lifetimeScale float The lifetime scale. This should be between 0 and 1.
startColour Color The start colour.
endColour Color The end colour.
return void

Update() public method

public Update ( float dt ) : void
dt float
return void