Fluffy, mostly procedural Clouds for Cycles

Not really sure where this post belongs, but here it is.
Fluffy clouds in Cycles, using volumetric rendering.

In my Tenochtitlan project I have been searching for a good cloud solution.
I have tried many things, but I think I will settle on this.

You can tweak a few things, such as cloud coverage, thickness and scale.
You can also grab the sun light and rotate it for different times of day.

It’s not at all lightweight - GPU rendering is almost a must with how heavy this is.
But it does look nice, I think.

CloudsExampleFile.blend (3.3 MB)




Enjoy!

Any questions and suggestions are welcome.

33 Likes

Very nice and extensive breakdown. Might come in handy in the future, thanks

Absolutely gorgeous!

Which are the most GPU-intensive parts?

Thanks for sharing ! they do look very nice.

Volumes just take a very long time to converge in general.

These clouds look great, thank you for sharing the .blend! Could you please specify a license?

All .blend files are GPL licensed

Without getting into the 'ol GPL rabbit hole, I don’t think that’s correct?

What you create with Blender is your sole property. All your artwork – images or movie files – including the .blend files and other data files Blender can write, is free for you to use as you like.
https://www.blender.org/about/license/

That being said, @Lahav it’s CC0

3 Likes

Oh you’re right I stand corrected :slight_smile:

2 Likes

One big problem is blenders utterly poor fractal textures, one of those things I have urged for that desperately needs attention.

Lightwave for instance has a huge set of fractal textures, and some that are specificly designed for clouds, there is only One such fractals for blender, and that one you can´t use with shading density (it´s frankly very strange)
You don´t have to make a nest of noise textures that slows things down, most of parameters needed for good cloud fractals are there within one node or texture, size, wind size, lacunarity, cloud gain, wind gain, offset and much much more.

The cloud fractal you can use in blender when using fluid density or in volume displace or displacement map, but not for the actual density inside of the shading system.

I have asked Denis Pontonnier who makes those textures for lightwave, to look in to wether or not it can be ported to blender, but no response, I guess the blender community needs to wake up and require a better set of fractal textures, including fixing the actual cloud texture to work in the density channel, then send mail To Denis and ask for it, donate for it.

Another issue is the volumetric material as mentioned above in this thread, Lightwave´s volumetric system seem to handle this better with quality and scatter, with only one exception, and that would be that Lightwave has no multiple scatter properly working, with blender you have light path and volume bounces, so there blender has an upper hand when you want at least full volumes or vdb volumes lit realisticly.

Imgur

Imgur

Imgur

For those of you reacting on Lightwave reference, keep in mind that I am slowly trying to migrate to blender (unless lightwave development goes from zombie to be alive that is)

Blender has so many great things about it which leads me to work more with it… however, fractal textures is not one of them.

Multiple scattering for a decent vdb volume rendering, that is however much much better than Lightwave.
The Disney VDB sample below with blender rendering …I wouldn´t be able to pull off with native lightwave VDB´s and scattering, I would need another plugin software called octane to get anything like that.

2 Likes

Cross posting this video from Samuel Kruger as well, since he is covering the cloud shading of the
WDA disney asset, which I used above as well.

3 Likes

Thanks @MI65 , I’ll have to check that out.

In the meantime, I’m trying an experiment that renders out the clouds in a shader using raymarching, which is much faster than this approach:

https://twitter.com/ThomasKoleTA/status/1658947784312061954

However, I’m running into “Cycles: out of SVM stack space, shader “ProperClouds” too big.” When I want to march more than ~10 times. Any clues?

1 Like

Can´t help out here, I am not touching that method, since I think it´s not looking good, nor realistic and brings too many artifacts and limitations otherwise.

Personally I would still go Volumetrics All the way.
So someone else has to give advice on that.

Good Luck.

Ok, so, here’s the results of some more experimentation.
Tip: the images sliders are interactive :tada:

The problem at a first glance:


Balancing Step Rate is hard. Big steps = low detail, Small steps = long rendertimes.

As you can see, the left looks great and well defined, but renders in about 2:33. The right looks worse, but renders in 1:31. All these experiments are trying to get close to the left render, but with lower render times.

Possible solution 1: Raymarching


Instead of actual volumetrics, what if we just pretend, and use a shader to fake volume?
Raymarching also gives decent results, but are not faster at all in practice. The same tradeoff exists.

The left one renders in about 1:22, the right one in 1:09. Much, much slower than expected!

A hybrid approach?

What if we combine raymarching and volumes, naively? Just by blending between the two?

Mediocre results. A bit more definition around the edges, but the same general lack of density, and poor render times (1:53)

Geometry Nodes…?

We can use geometry nodes to sample the same noise function that we use for the shader, to generate an approximation of the cloud mesh. This should, in theory, limit the number of “empty”, and thus useless volume samples…


Left is just a cube, right is with the geometry nodes approximation. The clouds do have more detail, and are denser, but look terrible.

Geonodes… but with volumes?

What if we don’t generate geometry, but a volume instead? Does that improve performance?


No. It makes it slightly worse.

Conclusion

Just stick to the setup of the first post :sweat_smile:
None of the methods saved time, or made for better results.

5 Likes