Summary
A particle is simply a way of representing a single element within a group of elements that form a particle effect, such as an explosion or some magical spell effect.
A particle engine is a mechanism that manipulates, adds, removes, and draws particles to make up a particle effect. Often, particle engines simulate gravity and other external forces to make particle effects look more realistic.
In addition to using vertex types such as
VertexPositionColorandVertexPositionTexture, you can create your own customized vertex types providing any kind of information you want. To understand your vertex type, the graphics card needs aVertexDeclarationspecifying what members exist in the vertex type and what data to send to certain semantics in HLSL.Point sprites were introduced in DirectX 8 as a way to allow developers to draw particles or other effects using only one vertex per particle.
In HLSL you can specify the size of a vertex using the
PSIZE[n]semantic, which will let you create point sprites that vary in size.Anyone who knows XNA and can create sweet particle effects will have more friends than they know what to do with.