Sampling Rain and falling Pixels

by Philipp Schäfer

Lately I’ve mainly been working on some secret “engine-endgame/-story stuff” (bosses, effects). I don’t want to reveal any spoilers or bore you to death with company-founding stuff however, so here are some things I did which are worth telling…

I started to add a small weather system to the game, which allows us to make it rain or even start a thunderstorm in our dark environment. The raindrops are realized with our particle system and to simulate motion blur they are drawn as lines. The darkness is implemented as a constant which has effect on our background shader and the fluid foreground. The lightning makes use of the same shader constant and algorithm, only with opposite effect. It is calculated using two phase shifted sinus functions and a tangent function (for the hard cut).

The weather will have different properties in each level to enhance the feeling of a large and diverse world. It will also feature functions to create the right mood during our story parts and boss fights.

We had some ugly visual effects that were caused by multisampling, so for a long time we developed on completely without it. I am happy to announce that the sampling is up and running again, so you won’t need to miss it in the next Dev-Demo update.
I also stumbled over some papers dealing fullscreen anti aliasing – if you’d like to see it implemented, just leave me a comment and I will raise its priority.

Post scriptum
Because my blog post turned out to be kind of short this time… let’s end it with some shader bugs I captured while creating the red light effect.