I got the wobbly cloak + damage textures stuff working in the end. I used a separate render target. Basically whenever a ship is cloaking it uses a separate texture to composite its damage and hull together, then renders from that. I’m not sure how slow SetRenderTarget() is, so I’m avoiding using it all the time.
Today I redid all the damage textures. I used a picture of an oil refinery at night, color-adjusted and light intensified, and use that to ‘paint’ sparks in gaps in the damaged ships hulls.
I also added debris. I cut out some parts of the ship, and scattered some of the damage texture magic on them:
I then emit some spinning bits of debris when a ship is hit or destroyed. The debris is all one texture and drawn collectively (on top of all the ships) so it’s a single vertex-buffered draw call and shouldn’t be too slow. I’m certainly getting awesome frame rates, even with tons of smoke trails, explosions, spaceships, debris and laser effects:
Tomorrow I’ll be doing some more of the AI behaviours for the ships.