Nimble - The 3D Cloud System

· by Steve · Read in about 3 min · (554 Words)

Ok, so now you finally get to see what I’ve been working on during the last few weeks and being so obtuse about. I’ve been working for Windward Mark Interactive to create a brand new, totally volumetric cloud system called Nimble. Here are some shots for you (click for full size versions):

Clearly there have been cloud systems before, so what’s special about Nimble? Well, for a start it’s completely volumetric - it’s not a prerendered skybox or 2.5D clouds projected on a skydome, it’s not made up of a bunch of discrete billboards with individual cloud textures on them which can limit the amount of sky you can cover - the whole thing is derived from a full-sky cloud density volume, allowing you to render any type of cloud you want, as big as you want. You can also fly through it, above it, whatever you like, there are no boundaries to where the camera can go. Take a look at the video that WMI have posted to see it in motion.

The volume itself is based on a simulation - so you can ‘seed’ the atmosphere with humidity and other parameters, and clouds will naturally ‘grow’ into the kinds of interesting shapes you see there - no artists required, yet you still get the ability to dictate the placement and shapes of clouds, rather than placement being random like noise-based methods.

The rendering itself is also a great deal more realistic than other systems, combining accurate volumetric lighting and scattering, together with adjustable quality view-dependent rendering that makes it possible to visualise all this in real time on standard consumer graphics cards. One thing we’re very pleased with, and was high on our list of ‘must haves’, is that the cumulus clouds have a more realistic appearance to other systems, having a nice crisp edge and high lighting contrast, instead of only being able to do the ‘cotton wool’ fluffy clouds you often see elsewhere. Clouds cast shadows on the ground and there are a great many real-time parameters you can tweak such as the sharpness of the cloud, position and size offsets, and plenty of others.

In these examples Nimble is shown alongside WindLight, an atmospheric lighting system I was involved in developing a couple of years ago for WMI, which is providing us with the atmospheric haze effects. It’s running on OGRE here (the terrain is being rendered with the TerrainSceneManager), but both WindLight and Nimble are designed to be integrated into any rendering back-end so that anyone can license them to improve their environment rendering.

I have to say that I’m really pleased with how this turned out. Given the task of finding a way to grow and render fully volumetric, full-sky clouds on regular hardware in real time, with the target ‘look’ being the clouds in these TG2 screenshots (which are rendered offline), all within one month, it was a pretty tall order. I hadn’t seen fully 3D real-time clouds of that quality level anywhere before. Whilst TG2 still totally, utterly blows me away, I think I got pretty close considering mine renders in real time. 😀I’m also grateful to Matt Fairclough, author of Terragen and whom I worked with before on WindLight, for taking time out of his very busy schedule on Terragen 2 to talk theory with me.