couldn't find a duplicate question (bit surprising to me) but anywho I'm starting to get near implementing the rendering of projectiles for my game.

My question is what are some good techniques for efficiently rendering projectiles? I would like emphasis on techniques that leave room for the projectiles to be "rich" and dynamic (Cool to look at!)

I'm also using DX11 for my rendering engine so bleeding edge techniques that can make use of that would be much appreciated too.


  • 8
    \$\begingroup\$ Well usually what you do is describe what you want it to look like, and then there's a technique for that. Projectiles can be static models, animated models, procedurally generated models, sprites, animated sprites, particles, or any combination thereof. \$\endgroup\$
    – Tetrad
    Commented Nov 14, 2011 at 19:00
  • 1
    \$\begingroup\$ To extend upon Tetrad's comment, the technique used can also be restricted by how you plan on handling collision detections with your projectile. For example, most bullets hit instantly using ray-testing, with no visible bullet, but perhaps a muzzle flash on the gun. Lasers also hit instantly, using ray testing, but can use a particle stream for the fading laser effect. Rockets from a Rocket Launcher require physical hit detection, and as such are usually accomplished by spawning a 3d model, with perhaps particles used for smoke trails. \$\endgroup\$ Commented Nov 15, 2011 at 2:15
  • 1
    \$\begingroup\$ Well, I guess I should of worded the question better but these comments are basically the answer I was looking for. Don't have any particular approach in mind at the moment but was looking for toolbox of possible techniques and their pro's and con's. \$\endgroup\$ Commented Nov 16, 2011 at 23:51

1 Answer 1


(I'm going to assume you are talking about a 3D game; if you mean a 2D game then you should specify that in your question.)

Different kinds of projectiles necessitate different approaches to visualizing them, with the three main kinds being: use a 3D model to represent the projectile (eg. a missile in an FPS), use a billboard sprite to represent the projectile (eg. a laser in a space sim), or use a particle emitter to represent the projectile (eg. a magic blast in an RPG).

Using a model for the projectile is pretty straightforward. Simply make a 3D model of the missile or whatever and move that model through the air when the weapon is fired. Often you actually combine this with a particle emitter to do, say, the flame exhaust of a missile, although shots like arrows from a bow would be just a 3D model with no particle system.

Using a billboard sprite is similar to using a model, but instead of a full 3D mesh the projectile is only a single quad. Apply a picture of the projectile as the texture on that quad. Sometimes the quad is stretched from gun to target (eg. a laser). If the projectile is something like an energy ball then the sprite is usually set to face the camera completely, but if the projectile is a laser then you want to set the sprite to rotate toward the camera around its long axis and not on either of the other axes.

Using a particle emitter for the projectile requires you to first implement a particle system in your game. With the particle system in place, spawn an emitter (ie. the point the particles emit from) at the weapon and move the emitter through the air to the target.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .