collapse_all

expand_all

collapse_allexpand_alldropdowndropdownHovercopycodecopycodeHighlight

collapse_all Collapse AllExpand All     dropdown Code: All Code: Multiple Code: C# Code: Visual Basic Code: Visual C++     dropdown Members: Show All Members: Filtered Members: Filtered Members: Filtered

[TCheckBoxFormControlObj]C#

[TCheckBoxFormControlObj]Visual Basic

[TCheckBoxFormControlObj]

Visual C++

[TCheckBoxFormControlObj]Include Protected Members

[TCheckBoxFormControlObj]
Include Inherited Members

DPSF API Documentation
DPSFDefaultTexturedQuadParticleSystem
<
(Of
<
(
<
'
Particle, Vertex>)>)> Members
gradient

The DPSFDefaultTexturedQuadParticleSystem<(Of <(<'Particle, Vertex>)>)> type exposes the following members.

collapse_allConstructors

 

Name

Description

pubmethod

DPSFDefaultTexturedQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>

Constructor

collapse_allMethods

 

Name

Description

pubmethod

AddParticle()()()()

Adds a new Particle to the particle system, at the start of the Active Particle List. This new Particle is initialized using the particle system's Particle Initialization Function

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AddParticle(Particle)

Adds a new Particle to the particle system, at the start of the Active Particle List. Returns true if the Particle was added, false if there is not enough memory for another Particle.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AddParticles(Int32)

Adds the specified number of new Particles to the particle system.

These new Particles are initialized using the particle system's Particle Initialization Function.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AddParticles(Int32, ParticleEmitterLerpInfo)

Adds the specified number of new Particles to the particle system, linearly interpolating (Lerp) the Emitter's Position/Orientation to be between its Previous Position/Orientation and current Position/Orientation when adding new particles.

Returns how many Particles were able to be added to the particle system.

These new Particles are initialized using the particle system's Particle Initialization Function.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AddParticles(Int32, Particle)

Adds the specified number of new Particles to the particle system, copying the properties of the given Particle To Copy.

NOTE: The Particle Initialization Function is not called when copying from an existing particle.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AddParticles(Int32, ParticleEmitter, Single)

Adds the specified number of new Particles to the particle system, linearly interpolating (Lerp) the Emitter's Position/Orientation to be between its Previous Position/Orientation and current Position/Orientation when adding new particles.

Returns how many Particles were able to be added to the particle system.

These new Particles are initialized using the particle system's Particle Initialization Function.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

AfterAddParticle

Virtual function that is called at the end of the AddParticle() function. This may be used to execute some code after a new Particle is initialized and added.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

AfterDestroy

Virtual function that is called at the end of the Destroy() function. This may be used to perform operations after the Particle System has been Destroyed, such as to destroy other Particle Systems nested within this Particle System.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

AfterDraw

Virtual function that is called at the end of the Draw() function. This may be used to perform operations after the Particle System has been drawn, such as to Draw Particle Systems nested within this Particle System.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

AfterInitialize

Virtual function that is called at the end of the Initialize() function. This may be used to perform operations after the Particle System has been Initialized, such as initializing other Particle Systems nested within this Particle System.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

AfterUpdate

Virtual function that is called at the end of the Update() function. This may be used to perform operations after the Particle System has been updated, such as to Update Particle Systems nested within this Particle System.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

AutoInitialize

Virtual function to Initialize the Particle System with default values. Particle system properties should not be set until after this is called, as they are likely to be reset to their default values.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

BeforeAddParticle

Virtual function that is called at the beginning of the AddParticle() function. This may be used to execute some code before a new Particle is initialized and added.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

BeforeDestroy

Virtual function that is called at the beginning of the Destroy() function. This may be used to perform operations before the Destroy() code is executed.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

BeforeDraw

Virtual function that is called at the beginning of the Draw() function. This may be used to perform operations before the Draw() code is executed.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

BeforeUpdate

Virtual function that is called at the beginning of the Update() function. This may be used to perform operations before the Update() code is executed.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

CalculateForceMagnetShouldExertOnParticle

Returns the vector force that a Magnet should exert on a Particle

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

Destroy

Release all resources used by the Particle System and reset all properties to their default values

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

Draw

Draws all of the Active Particles to the Graphics Device.

NOTE: This will only Draw the Particle System if it does not inherit from DrawableGameComponent, since if it does it will be drawn automatically by the Game object.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

DrawForced

Draws all of the Active Particles to the Graphics Device, even if the the Particle Systems inherits from DrawableGameComponent.

NOTE: If inheriting from DrawableGameComponent and this is called, the Particle System will be drawn twice per frame; once when it is called here, and again when automatically called by the Game object. If not inheriting from DrawableGameComponent, this acts the same as calling Draw().

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

DrawSprite

Virtual function to draw a Sprite Particle. This function should be used to draw the given Particle with the provided SpriteBatch.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

Equals

Determines whether the specified Object is equal to the current Object.

(Inherited from Object.)

protmethod

Finalize

Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.

(Inherited from Object.)

pubmethod

GetHashCode

Serves as a hash function for a particular type.

(Inherited from Object.)

pubmethod

GetType

Gets the Type of the current instance.

(Inherited from Object.)

pubmethod

InitializeNoDisplayParticleSystem

Initializes a new No Display Particle System. This type of Particle System does not allow any of the Particles to be drawn to a Graphics Device (e.g. the screen).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeNonSerializableProperties

This function should be called immediately after deserializing a particle system in order to reinitialize the properties that could not be serialized.

NOTE: If this type of particle system requires a Texture, this function will attempt to load the Texture specified by the DeserializationTexturePath property. If it is unable to load a texture, an DPSFArgumentNullException will be thrown, so this function should be wrapped in a try block, and when an DPSFArgumentNullException is caught then the particle system's texture should be manually set.

NOTE: This will attempt to load the Effect and Technique specified by the DeserializationEffectPath and DeserializationTechniqueName properties. If either of these are null, the DPSFDefaultEffect will be used, and the default Technique for this type of particle system will be loaded.

NOTE: Particle systems can only be serialized (and thus, deserialized) if not inheriting from DrawableGameComponent (i.e. InheritsDrawableGameComponent == false. i.e. using the DPSF.dll, not DPSFAsDrawableGameComponent.dll).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeParticle

Initialize the given Particle using the current Initialization Function

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeParticleUsingInitialProperties(DPSFParticle)

Function to Initialize a Default Particle with default settings

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeParticleUsingInitialProperties(DPSFParticle, DPSFDefaultBaseParticleSystem<(Of <<'(Particle, Vertex>)>>)..::..CInitialProperties)

Function to Initialize a Default Particle with the Initial Settings

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeQuadParticleSystem

Initializes a new Quad Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

InitializeRenderProperties

Virtual function to setup the Render Properties (i.e. BlendState, DepthStencilState, RasterizerState, and SamplerState) which will be applied to the Graphics Device before drawing the Particle System's Particles.

This function is only called once when initializing the particle system.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeSpriteParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, Texture2D)

Initializes a new Sprite Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeSpriteParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, String)

Initializes a new Sprite Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeSpriteParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, Texture2D, SpriteBatch)

Initializes a new Sprite Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeSpriteParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, String, SpriteBatch)

Initializes a new Sprite Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeTexturedQuadParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, DPSF<(Of <<'(Particle, Vertex>)>>)..::..UpdateVertexDelegate, Texture2D)

Initializes a new Textured Quad Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

InitializeTexturedQuadParticleSystem(GraphicsDevice, ContentManager, Int32, Int32, DPSF<(Of <<'(Particle, Vertex>)>>)..::..UpdateVertexDelegate, String)

Initializes a new Textured Quad Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

MemberwiseClone

Creates a shallow copy of the current Object.

(Inherited from Object.)

protmethod

MoveActiveParticleToInactiveParticleList

Moves the Active Particle's Linked List node to the Inactive Particle Linked List.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

RemoveAllParticles

Removes all Active Particles from the Active Particle List and adds them to the Inactive Particle List

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetCameraPosition

Sets the camera position, so that the particles know how to make themselves face the camera if needed. (i.e. you add the Particle EveryTimeEvent UpdateParticleToFaceTheCamera).

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetDefaultEffect

Sets the Effect to be the default type for this type of particle system. This is done automatically when the particle system is initialized.

Default effect for each particle type is:

1.NoDisplay and Sprite - null.
2.Quad - BasicEffect.
3.TexturedQuad - AlphaTestEffect.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetEffectAndTechnique(Effect, String)

Sets the Effect and Technique to use to draw the Particles.

NOTE: This will automatically set the DeserializationTechniqueName property to the given sTechnique.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetEffectAndTechnique(String, String)

Sets the Effect and Technique to use to draw the Particles.

NOTE: This will automatically set the DeserializationEffectPath property to the given sEffect.

NOTE: This will automatically set the DeserializationTechniqueName property to the given sTechnique.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

SetEffectParameters

Virtual function to Set the Effect's Parameters before drawing the Particles

(Overrides DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>..::..SetEffectParameters()()()().)

pubmethod

SetGraphicsDevice

Sets the Graphics Device to use to the given graphics device.

NOTE: This only has an effect if the particle system does not inherit from DrawableGameComponent (i.e. InheritsDrawableGameComponent == false. i.e. using the DPSF.dll, not DPSFAsDrawableGameComponent.dll), since the Graphics Device is read-only when inheriting from DrawableGameComponent. The Game object's Graphics Device is always used when inheriting from DrawableGameComponent.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetTechnique

Set which Technique of the current Effect to use to draw the Particles.

NOTE: This will automatically set the DeserializationTechniqueName property to the given sTechnique.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetTexture

Set the Texture to use to draw the Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

SetWorldViewProjectionMatrices

Set the World, View, and Projection matrices for this Particle System.

NOTE: Sprite particle systems are not affected by the World, View, and Projection matrices.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

ToString

Returns a String that represents the current Object.

(Inherited from Object.)

pubmethod

Update

Updates the Particle System. This involves executing the Particle System Events, updating all Active Particles according to the Particle Events, and adding new Particles according to the Emitter settings.

NOTE: This will only Update the Particle System if it does not inherit from DrawableGameComponent, since if it does it will be updated automatically by the Game object.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubmethod

UpdateForced

Updates the Particle System, even if the the Particle Systems inherits from DrawableGameComponent.

Updating the Particle System involves executing the Particle System Events, updating all Active Particles according to the Particle Events, and adding new Particles according to the Emitter settings.

NOTE: If inheriting from DrawableGameComponent and this is called, the Particle System will be updated twice per frame; once when it is called here, and again when automatically called by the Game object. If not inheriting from DrawableGameComponent, this acts the same as calling Update().

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleColorUsingLerp

Linearly interpolates the Particle's Color between it's Start Color and End Color based on the Particle's Normalized Elapsed Time.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleDistanceFromCameraSquared

Updates the Particle's DistanceFromCameraSquared property to reflect how far this Particle is from the Camera.

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleHeightUsingLerp

Linearly interpolate the Particle's Height between the Start and End Height according to the Particle's Normalized Lifetime

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticlePositionAccordingToMagnets

Calculates how much affect each of the Particle System's Magnets should have on this Particle and updates the Particle's Position accordingly.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticlePositionAndVelocityUsingAcceleration

Updates a Particle's Velocity according to its Acceleration, and then the Position according to the new Velocity

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticlePositionUsingExternalForce

Applies the External Force to the Particle's Position

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticlePositionUsingVelocity

Update a Particle's Position according to its Velocity

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleRotationalVelocityUsingRotationalAcceleration

Update a Particle's Rotational Velocity according to its Rotational Acceleration

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleRotationAndRotationalVelocityUsingRotationalAcceleration

Update a Particle's Rotation and Rotational Velocity according to its Rotational Acceleration

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleRotationUsingRotationalVelocity

Update a Particle's Rotation according to its Rotational Velocity

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleSystemDisableEmitter

Disables the Emitter

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleSystemEmitParticlesAutomaticallyOff

Sets the Emitter to not Emit Particles Automatically

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleSystemEmitParticlesAutomaticallyOn

Sets the Emitter to Emit Particles Automatically

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleSystemEnableEmitter

Enables the Emitter

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleSystemToSortParticlesByDistanceFromCamera

Sorts the particles to draw particles furthest from the camera first, in order to achieve proper depth perspective.

NOTE: This operation is very expensive and should only be used when you are drawing particles with both opaque and semi-transparent portions, and not using additive blending.

Merge Sort is the sorting algorithm used, as it tends to be best for linked lists. TODO - WHILE MERGE SORT SHOULD BE USED, DUE TO TIME CONSTRAINTS A (PROBABLY) SLOWER METHOD (QUICK-SORT) IS BEING USED INSTEAD. THIS FUNCTION NEEDS TO BE UPDATED TO USE MERGE SORT STILL. THE LINKED LIST MERGE SORT ALGORITHM CAN BE FOUND AT http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleToBeConstrainedAroundXAxis

Orientates the Particle to face the camera, but constrains the particle to always be perpendicular to the Y-Z plane.

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleToBeConstrainedAroundYAxis

Orientates the Particle to face the camera, but constrains the particle to always be perpendicular to the X-Z plane (i.e standing straight up).

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleToBeConstrainedAroundZAxis

Orientates the Particle to face the camera, but constrains the particle to always be perpendicular to the X-Y plane.

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleToFaceTheCamera

Turns the Particle into a Billboard Particle (i.e. The Particle always faces the Camera).

NOTE: This Update function should be called after all other Update functions to ensure that the Particle is orientated correctly.

NOTE: Update the Particle System's Camera Position every frame to ensure that this works correctly.

NOTE: Only Roll Rotations (i.e. around the Z axis) will be visible when this is used.

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyToFadeInUsingLerp

Linearly interpolates the Particle's Transparency to fade in based on the Particle's Normalized Elapsed Time.

If you are also updating the Particle Color using an EveryTime Event, be sure to set the ExecutionOrder of the event calling this function to be greater than that one, so that this function is called AFTER the color update function.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyToFadeOutUsingLerp

Linearly interpolates the Particle's Transparency to fade out based on the Particle's Normalized Elapsed Time.

If you are also updating the Particle Color using an EveryTime Event, be sure to set the ExecutionOrder of the event calling this function to be greater than that one, so that this function is called AFTER the color update function.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyWithQuickFadeIn

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyWithQuickFadeInAndQuickFadeOut

Quickly fades the particle in when born and quickly fades it out as it approaches its death.

If you are also updating the Particle Color using an EveryTime Event, be sure to set the ExecutionOrder of the event calling this function to be greater than that one, so that this function is called AFTER the color update function.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyWithQuickFadeInAndSlowFadeOut

Quickly fades the particle in when born and slowly fades it out as it gets closer to death.

If you are also updating the Particle Color using an EveryTime Event, be sure to set the ExecutionOrder of the event calling this function to be greater than that one, so that this function is called AFTER the color update function.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleTransparencyWithQuickFadeOut

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleVelocityAccordingToMagnets

Calculates how much affect each of the Particle System's Magnets should have on this Particle and updates the Particle's Velocity accordingly.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleVelocityUsingAcceleration

Update a Particle's Velocity according to its Acceleration

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleVelocityUsingExternalForce

Applies the External Force to the Particle's Velocity

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleVelocityUsingFriction

Applies the Particle's Friction to the its Velocity to slow the Particle down to a stop

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleWidthAndHeightUsingLerp

Linearly interpolate the Particle's Width and Height between the Start and End values according to the Particle's Normalized Lifetime

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateParticleWidthUsingLerp

Linearly interpolate the Particle's Width between the Start and End Width according to the Particle's Normalized Lifetime

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateVertexProperties(array<DefaultQuadParticleVertex>[]()[][]%, Int32, DPSFParticle)

Function to update the Vertex properties according to the Particle properties

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

protmethod

UpdateVertexProperties(array<DefaultTexturedQuadParticleVertex>[]()[][]%, Int32, DPSFParticle)

Function to update the Vertex properties according to the Particle properties

collapse_allFields

 

Name

Description

pubfield

MagnetList

A list of Magnets that should affect this Particle System's Particles.

NOTE: You must add a UpdateParticleXAccordingToMagnets function to the Particle Events in order for these Magnets to affect the Particles.

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

collapse_allProperties

 

Name

Description

pubproperty

ActiveParticles

Get / Protected Set a Linked List whose Nodes point to the Active Particles.

NOTE: New particles are added to the start of the Active Particles list, so by default the oldest particles should be at the end.

NOTE: The Protected Set option is only provided to allow the order of the LinkedListNodes to be changed, changing the update and drawing order of the Particles. Be sure that all of the original LinkedListNodes (and only the original LinkedListNodes, no more) obtained from the Get are included; they may only be rearranged. If they are not, there may (and probably will) be unexpected results.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

AutoMemoryManagerSettings

The Settings used to control the Automatic Memory Manager

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

CameraPosition

Get / Set the Position of the Camera.

NOTE: This should be Set (updated) every frame if Billboarding will be used (i.e. Always have the Particles face the Camera).

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ClassName

Get the Name of the Class that this Particle System is using. This can be used to check what type of Particle System this is at run-time.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ContentManager

Get / Set the Content Manager to use to load Textures and Effects

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

DeserializationEffectPath

The path used to load the Effect when the InitializeNonSerializableProperties() function is called.

NOTE: This is automatically set when the SetEffectAndTechnique(string, string) function is called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

DeserializationTechniqueName

The Name of the Technique to use when the InitializeNonSerializableProperties() function is called.

NOTE: This is automatically set when the SetEffectAndTechnique() and SetTechnique() functions are called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

DeserializationTexturePath

The path used to load the Texture when the InitializeNonSerializableProperties() function is called.

NOTE: This is automatically set when the SetTexture() function is called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

DPSFDefaultEffect

A custom effect provided by DPSF. In DPSF v2.1.0 and prior this effect was used as the default effect for all particle system types. Each particle system type now uses one of the built-in XNA 4 effects as its default effect in order to make all of the particle system types fully compatible with the Reach profile, and usable on the Windows Phone 7.

This effect may still be used for a particle system by calling the SetEffectAndTechnique() function from the particle system's overridden InitializeRenderProperties() function.

This Effect has several techniques that may be used (DPSFDefaultEffectTechniques).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

DrawOrder

The Order in which the Particle System should be Drawn relative to other DPSF Particle Systems in the same Particle System Manager. Particle Systems are Drawn in ascending order according to their Draw Order (i.e. lowest first).

NOTE: The Draw Order is one of the few properties that is not reset when the particle system is initialized or destroyed.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Effect

Get / Set the Effect to use to draw the Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Emitter

The Emitter is used to automatically generate new Particles.

NOTE: This is just a pointer to one of the ParticleEmitters in the Emitters ParticleEmitterCollection.

NOTE: If you set this to a ParticleEmitter that is not in the Emitters collection, it will be added to it.

During the particle system Update() this Emitter property is updated to point to the ParticleEmitter in the Emitters collection that is being updated. This allows you to use this property to reference the ParticleEmitter that is actually being used to add particles to the particle system.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Emitters

The Emitters used to automatically generate new Particles for this Particle System.

Each particle system Update() will loop through all Emitters in this collection and add their new particles to this particle system.

During the particle system Update() the Emitter property is updated to point to the ParticleEmitter in this collection that is being updated.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Enabled

Get / Set if this Particle System should Update itself and its Particles or not.

NOTE: Setting this to false causes the Update() function to not update anything, including the BeforeUpdate() and AfterUpdate() function not to be called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Game

Get the Game object set in the constructor, if one was given.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

GraphicsDevice

Get / Set the Graphics Device to draw to

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ID

Get the unique ID of this Particle System.

NOTE: Each Particle System is automatically assigned a unique ID when it is instanciated.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

InactiveParticles

Returns a Linked List whose Nodes point to the Inactive Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protproperty

IndexBuffer

Get / Set the 32-bit Index Buffer values.

The Index Buffer is typically used when drawing Quads in the HiDef profile (except with MonoGame WinRT, which uses HiDef but only supports IndexBufferShort).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protproperty

IndexBufferIndex

Get / Set the current position in the Index Buffer

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protproperty

IndexBufferShort

Get / Set the 16-bit Index Buffer values.

The Index Buffer Short is typically used when drawing Quads in the Reach profile.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

InheritsDrawableGameComponent

Get if the Particle System is inheriting from DrawableGameComponent or not.

If inheriting from DrawableGameComponent, the Particle Systems are automatically added to the given Game object's Components and the Update() and Draw() functions are automatically called by the Game object when it updates and draws the rest of its Components. If the Update() and Draw() functions are called by the user anyways, they will exit without performing any operations, so it is suggested to include them anyways to make switching between inheriting and not inheriting from DrawableGameComponent seemless; just be aware that the updates and draws are actually being performed when the Game object is told to update and draw (i.e. when base.Update() and base.Draw() are called), not when these functions are being called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

InitialProperties

Get the Settings used to specify the Initial Properties of a new Particle.

NOTE: These are only applied to the Particle when the InitializeParticleUsingInitialProperties() function is set as the Particle Initialization Function.

(Inherited from DPSFDefaultQuadParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

InternalSimulationSpeed

Get / Set how fast the Particle System Simulation should run to look "normal".

1.0 = normal speed, 0.5 = half speed, 2.0 = double speed.

This is provided as a way of speeding up / slowing down the simulation to have it look as desired, without having to rescale all of the particle velocities, etc. This allows you to use the exact same particle system class to create two particle systems, and then have one run slower or faster than the other, creating two different effects. If you then wanted to speed up or slow down both effects (i.e. particle systems), you could adjust the SimulationSpeed property on both particle systems without having to worry about adjusting this property at all to get the effects back to normal speed; just reset the SimulationSpeed property you changed back to 1.0.

NOTE: If a negative value is specified, the Internal Simulation Speed is set to zero (pauses the simulation; has the same effect as Enabled = false).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

IsInitialized

Returns true if the Particle System is Initialized, false if not.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

protproperty

IsUsingIntegerIndexBuffer

Get if we will be using the regular 32-bit Index Buffer (Integer) or the 16-bit Index Buffer (Short).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

MaxNumberOfParticlesAllowed

Get / Set the Max Number of Particles this Particle System is Allowed to contain at any given time.

NOTE: The Automatic Memory Manager will never allocate space for more Particles than this.

NOTE: This value must be greater than or equal to zero.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Name

The Name of the Particle System

(Inherited from DPSFDefaultBaseParticleSystem<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

NumberOfActiveParticles

Get the number of Particles that are currently Active.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

NumberOfParticlesAllocatedInMemory

Get / Set the absolute Number of Particles to Allocate Memory for.

NOTE: This value must be greater than or equal to zero.

NOTE: Even if this many particles aren't used, the space for this many Particles is still allocated in memory.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

NumberOfParticlesBeingDrawn

Get the number of Particles being Drawn. That is, how many Particles are both Active AND Visible.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

NumberOfParticlesStillPossibleToAdd

Get the number of Particles that may still be added before reaching the Max Number Of Particles Allowed. If the Max Number Of Particles Allowed is greater than the Number Of Particles Allocated In Memory AND the Auto Memory Manager is set to not increase the amount of Allocated Memory, than this returns the number of Particles that may still be added before running out of Memory.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ParticleEvents

Particle Events may be used to update Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ParticleInitializationFunction

Sets the function to use to Initialize a Particle's properties.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Particles

Returns the array of all Particle objects

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ParticleSystemEvents

Particle System Events may be used to update the Particle System

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ParticleSystemManagerToCopyPropertiesFrom

The Particle System Manager whose properties (SimulationSpeed and UpdatesPerSecond) this particle system should follow. If null is not specified, the Manager's properties will be copied into this particle system immediately.

NOTE: This Particle System's properties will only clone the Manager's properties if the Manager's properties are Enabled. For example, the Manager's SimulationSpeed will only be copied to this Particle System if the Manager's SimulationSpeedIsEnabled property is true.

NOTE: This value is automatically set to the last Particle System Manager the Particle System is added to.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

ParticleType

Get the type of Particles that this Particle System should draw.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

PerformanceProfilingIsEnabled

Get / Set if performance timings should be measured or not, such as how long it takes to perform updates and draws.

This should be disabled before building a release version of your application.

Note: Performance profiling is not available on the Reach profile, so this will always return False on the Reach profile.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

PerformanceTimeToDoDrawInMilliseconds

Get how long (in milliseconds) it took to perform the last Draw() function call.

Returns 0 if Performance Profiling is not Enabled.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

PerformanceTimeToDoUpdateInMilliseconds

Get how long (in milliseconds) it took to perform the last Update() function call.

Returns 0 if Performance Profiling is not Enabled.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Projection

Get / Set the Projection Matrix to use for drawing 3D Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

RandomNumber

Get a RandomNumbers object used to generate Random Numbers

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

RenderProperties

Get the render properties used to draw the particles.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

SimulationSpeed

Get / Set how fast the Particle System Simulation should run.

Example: 1.0 = normal speed, 0.5 = half speed, 2.0 = double speed.

NOTE: If a negative value is specified, the Speed Scale is set to zero (pauses the simulation; has same effect as Enabled = false).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

SpriteBatch

Returns the SpriteBatch used to draw the Sprite particles.

NOTE: If this is not a Sprite particle system, this will return null.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

SpriteBatchSettings

The Sprite Batch drawing Settings used in the Sprite Batch's Begin() function call.

NOTE: These settings are only available for Sprite particle systems, and only for the Sprite particle systems using their own SpriteBatch (i.e. UsingExternalSpriteBatchToDrawParticles = false).

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Technique

Get / Set which Technique of the current Effect to use to draw the Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Texture

Get / Set the Texture to use to draw the Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

TotalNumberOfActiveParticles

Get the number of particles that are currently Active, in both this particle system and any particle systems contained within this one.

NOTE: Because a particle system may contain other particle systems, this is a virtual function that may be overridden to return the NumberOfActiveParticles for both this particle system and any child particle systems that are contained within this one.

NOTE: By default this just returns this particle system's NumberOfActiveParticles.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

TotalNumberOfParticlesAllocatedInMemory

Get the number of particles that memory has been allocated for, for both this particle system and any particle systems contained within this one.

NOTE: Because a particle system may contain other particle systems, this is a virtual function that may be overridden to return the NumberOfParticlesAllocatedInMemory for both this particle system and any child particle systems that are contained within this one.

NOTE: By default this just returns this particle system's NumberOfParticlesAllocatedInMemory.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

TotalNumberOfParticlesBeingDrawn

Get the number of particles that are being Drawn, in both this particle system and any particle systems contained within this one.

NOTE: Because a particle system may contain other particle systems, this is a virtual function that may be overridden to return the NumberOfParticlesBeingDrawn for both this particle system and any child particle systems that are contained within this one.

NOTE: By default this just returns this particle system's NumberOfParticlesBeingDrawn.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Type

Get / Set the Type of Particle System this is. This is a user provided value that you can use for whatever purpose you want; it is not used by the built-in DPSF functionality in any way.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

UpdateOrder

The Order in which the Particle System should be Updated relative to other DPSF Particle Systems in the same Particle System Manager. Particle Systems are Updated in ascending order according to their Update Order (i.e. lowest first).

NOTE: The Update Order is one of the few properties that is not reset when the particle system is initialized or destroyed.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

UpdatesPerSecond

Specify how often the Particle System should be Updated.

NOTE: Specifying a value of zero (default) will cause the Particle System to be Updated every time the Update() function is called (i.e. as often as possible).

NOTE: If the Update() function is not called often enough to keep up with this specified Update rate, the Update function updates the Particle Systems as often as possible.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

UsingExternalSpriteBatchToDrawParticles

Returns if this particle system is dependent on an external Sprite Batch to draw its particles or not.

If false, the particle system will use its own SpriteBatch to draw its particles.

If true, then you must call SpriteBatch.Begin() before calling ParticleSystem.Draw() to draw the particle system, and then call SpriteBatch.End() when done drawing the particle system, where the SpriteBatch referred to here is the one you passed into the InitializeSpriteParticleSystem() function.

NOTE: This property only applies to Sprite particle systems.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

VertexUpdateFunction

Set the function to use to copy a Particle's renderable properties into the Vertex Buffer.

NOTE: VertexUpdateFunction will not be changed if null value is given.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

View

Get / Set the View Matrix to use for drawing 3D Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

Visible

Get / Set if this Particle System should Draw its Particles or not.

NOTE: Setting this to false causes the Draw() function to not draw anything, including the BeforeDraw() and AfterDraw() functions not to be called.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

World

Get / Set the World Matrix to use for drawing 3D Particles

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubproperty

WorldViewProjection

Gets the result of multiplying the World, View, and Projection matrices.

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

collapse_allEvents

 

Name

Description

pubevent

DrawOrderChanged

Raised when the DrawOrder property changes

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubevent

EnabledChanged

Raised when the Enabled property changes

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubevent

UpdateOrderChanged

Raised when the UpdateOrder property changes

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

pubevent

VisibleChanged

Raised when the Visible property changes

(Inherited from DPSF<(Of <(<'Particle, Vertex>)>)>.)

collapse_allSee Also

DPSFDefaultTexturedQuadParticleSystem<(Of <(<'Particle, Vertex>)>)> Class

DPSF Namespace

footer

Send comments on this topic to
Dan@DansKingdom.com