Shaders of Solaro

December 13th, 2010| Posted by Andy Korth
Categories: Development | Tags:

I don’t know how it happened, but Solaro has 37 custom shaders in the project!

We’ve got a lot of variety in our shaders; some are full screen effects, many of them are for special UI effects or weapon effects, and we’ve also got special shaders for weapon and shield effects. So it’s time for a short pictorial tour of the shaders in Solaro! Most of our shaders are customized to make cool animated effects, so I’ll do my best to capture them in a way to show off in screenshots.

The engine pulse shader allows you to choose two colors and a mask to create the shape of the engine flare. You also provide a normal map to act as a distortion shader. We animate that distortion so the engine flare moves around like a candle flame. The other cool effects that we do with this, outside the shader, include making them grow and shrink as a function of the thrust generated by the engine. We combine this effect with a glow overlay to simulate a bit of a camera flare from the light source.

Selecting components in the ship editors needs some sort of visual effect. Here we’ve applied a modified rimlight shader. We’ve set it up to animate and pulse as you’ve clicked on something. Here the entire wing is selected and you can rotate it around the body of the ship. Again, this one’s really cool when you see it animated.

On the other hand, when you are placing a new piece, we wanted a visual effect that portrayed the idea that the piece hasn’t been placed yet, but to also show where it will be placed. The transparent stripes on this texture are in screenspace, which is a really cool effect that Scott put together; this means that the stripes don’t move as you scroll around the screen. It creates a cool computer-digitized effect, which draws a nice distinction between the real pieces and the pending ones. As you rotate or move the piece you’ve placed, it will turn red if something is blocking the placement.

A similar shader is also used for our arena backgrounds. Again, this is a subtle screenspace texture overlay. It colors the boundaries of the arena. No matter how much you zoom in, the grid stays the same size. This sort of thing is pretty important, since no texture will scale the 10,000x that we see in Solaro. It also keeps the very ‘digital’ feel that many of the UI components have.

Sorry this blog post was a bit late! My fianceĆ© was in a car accident… someone went through a stop sign and hit her on the way home from work. Her hand is in a splint, so she’s needed a lot of help around the house.

Stay tuned for another group of effect shaders coming up soon!

Comments are closed.