Fluffy, mostly procedural Clouds for Cycles

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