So I got Deferred Shading up and running (with point lights) and sped up the Graphics System a little in the process (on my ATI card, at least) by decreasing the render target sizes.  Here’s how it went:

  • My first attempt was using the billboarding shader I wrote for the particle system – this was wrong because the sphere that is a point light gets projected to an ellipse – ack!
  • I read Deferred Shading Optimizations and, hey, that’s the problem I was having!
  • Nick Thibieroz was nice enough to point me to this, which explains how to get the quad I was looking for.
  • But I’m not quite smart enough to understand what they’re doing there, so I bounded the sphere with a cube (in the geometry shader). Take that, projection! Viva El Cubo! This had the bonus of letting me write the cubic particle shader… oh, here is something awesome if you like cubes.