DigitalRune Particles is a CPU-based particle system library for .NET, Mono and XNA. It enables developers to add visual effects to their applications and games. Unlike existing particle engines, DigitalRune Particles does not use a limited, predefined particle definition. Instead, new types of particles can be defined on the fly. Developers have the freedom to design anything from a basic particle effect to nested particle systems with complex behaviors. The library was designed for use in 3D computer graphics, video games and virtual reality applications.
This topic contains the following sections.
- Microsoft .NET Framework 4.0 (or higher)
Microsoft XNA Framework 4.0 (Windows, Xbox 360, Windows Phone 7)
Here is an overview of features in this product.
Intended and optimized for use in 3D real-time applications
The particle system is CPU-based and designed for maximal flexibility:
Particles can have any number of custom parameters: position, mass, size, velocity, damping, energy, restitution, etc.
Particle systems can have custom, animatable parameters: For example, an "emission rate" or a "global alpha" influencing particles and nested particle systems.
Particle systems can have bounding shapes that can be used to cull particles.
Particle systems can be combined to create complex effects.
Particle systems can be cloned, serialized and loaded using the XNA Content Pipeline.
Multi-threaded update of particle systems
Resource pooling with automatic recycling of particle systems
Particle effectors update particles or manipulate particle systems. The library and the included sample applications offer several predefined effector types:
Create particle bursts or emit particles at animatable emission rates.
Initialize particle parameters using random value distributions: uniform intervals, Gaussian distributions, points on line segments, spheres, boxes, user-defined distribution, etc.
Emit particles on a triangle mesh.
Fade particles or whole particle systems in/out.
Animate particles using linear interpolation or configurable functions.
Let particles bounce off objects.
Animate particle textures.
Recycle dead particle systems.
Or implement your own particle behaviors.
The library is graphics engine independent. The included sample applications provide an example renderer for the Microsoft XNA Framework. The particle renderer supports:
Depth-sorting of particle systems and particles
State-sorting and batching of particle systems to minimize render state changes
Texture atlases and animated particle textures
Configurable blend states
Configurable billboard types: screen-aligned, view plane-aligned, viewpoint-oriented, axial or custom billboard orientations
Ribbon rendering (a.k.a. line rendering, trail rendering)
Following namespaces belong to DigitalRune Particles: