The first time I played Diablo 2 I remember how impressed I was to see rain causing ripples on the river just behind the Rogue Encampment. But only when I looked closer I realised that those ripples were not actually caused by any raindrop. Both ripples and raindrops were simply unrelated. As it often happens, improving graphics in modern computer games is not a quest for realism: it’s all about believability.
When it comes to 2D games, creating ripples in water is relatively easy, as that is often done with particles. But for 3D objects, things are a little bit more complicated. Since meshes can be curved, is hard to have particles following those shapes correctly. Technically speaking, such an effect could be perfectly simulated with physics, but as we have seen already, fluid simulations are expensive and hard to control.
This is why most games in which you see water slowly dripping on a 3D surface often rely on shaders.
In the two previous instalments of Shader Showcase Saturday, we have talked about waterfalls and interactive grass. Those two subjects sound very different from each other, yet they share something in common: the original phenomenon can be modelled as a fluid simulation. This week’s Shader Showcase Saturday will continue this trend, talking about another effect that involves fluids: fire.
Forests and fields have always been present in video games. These environments are particularly challenging to reproduce with high fidelity, mostly due to the fact that the behaviour of grass and leaves is exceptionally complex to capture. There are three main challenges.
Historically speaking, waterfalls have always had a special place in games. From Super Mario to Tomb Raider, their role has been more than just aesthetic. Often hiding secret caves, waterfalls are now iconic. This is why I believe is important to celebrate some of the most well-crafted waterfalls that have been posted online in the past few months.
I hope this will encourage more readers to try out what shaders can really do, especially when it comes to rivers, lakes and oceans.
When a 3D object is drawn on the screen, only its outer shell is actually rendered. This works for most solid and opaque materials, but is not powerful enough to bring life to transparent and translucent materials. Currently, this is one of the biggest limitations of most modern game engines. Volumetric rendering is a technique that allows rendering materials with a complex internal structure. The topic has been covered extensively on a tutorial tilted Volumetric Rendering, specifically designed for Unity.
In this post, however, I want to highlight some of the best volumetric effects that I have recently seen on the Internet. Not all the effects shown here might be actually using volumetric rendering, but they all give the illusion of being more than just empty shells.