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.