Clouds and Video

Finally, after around 3 months of hacking away late at nights, throwing up my hands in frustration and throwing away the first 3 implementations, I've finally made the volumetric cloud + atmosphere shader that I've dreamt about ever since starting this project.

The shader uses raymarching to render a volumetric noise field, and a rayleigh and mie scattering simulation to provide the lighting.   Everything is unified - the atmosphere, clouds and planet lighting - so reddening sun at sunset will light the terrain as well as the clouds, clouds cast shadows on objects flying beneath them, the atmosphere and clouds also render into the ambient cube-maps, meaning they reflect on objects and on water too!

Every planet has unique procedurally-generated cloud and atmosphere properties such as particulate density which impacts scattering, climate maps to designate where clouds are and which type.   The clouds themselves have programmable features such as height ranges, water density etc.

The best thing about the clouds in my mind is that they are fully volumetric and planetary-scale, which is of course essential in a space sim.  You can see them from space, fly down and into them, land on the surface and have them float and swirl above your head.   And of course as the sun goes down, gorgeous sunsets...

But don't take my word for it, check them out in the video below!   Just one caveat, right now the shader is too expensive to run at full resolution, and optimisation will be an essential next step.  Thus for now the planet + atmosphere renders at quarter resolution, and I upscale the results when blending back onto the screen.   So you will see a little blockiness, especially around the buildings and planet objects.   Enough from me, please enjoy the video!


  1. slow development isn't always bad. While you optimise your shaders hardware can become just powerful enough ro rendering it all without breaking a sweat.
    Flying looks neat. Reminds me about no man's sky, but with cities, which is nice.

  2. Haha you're not wrong. Although I will optimise the shader because I want to do so much more with it in the near future, I have thought to myself once or twice .. hmmm, just leave it and one day it will just run FAST!
    Seriously though, I know this is a long-term project and so I'm not going to let a technical or performance hurdle stop me from including something. If I wants it, its in


Post a Comment

Popular posts from this blog

2022 Screenshot Update

Screenshot Progress Update!

Rendering Nebulae