Mercury Particle Engine supports several renders for drawing the particles. It’s a pretty flexible structure where you easily can create your own render for a different platform than Mercury Particle Engine supports. We currently only support rendering on the XNA platform. The rendering structure is split into 2 renders:

This renderer uses point sprites to draw the particles. Point sprites are feature that came with DirectX and offers a more effective way of drawing the particles. Before we had to send 4 vertices to the graphics card, but now we only have to send one single vertex. This improves performance a lot but is also only supported on newer graphics (DirectX 8 enabled graphics cards).

The PointSpriteRenderer uses the graphics device directly by calling DrawUserPrimitives() in on the GraphicsDevice object. It's very efficient and can handle a lot of particles.

This renderer uses the XNA SpriteBatch to draw the particles. Using the SpriteBatch brings all the features that the SpriteBatch normally have; such as batching of textures and sorting of textures. It's not really necessary in most cases, but we provide you with the option to use it.

Last edited Aug 24, 2009 at 4:32 PM by JimJams, version 1