Clouds and more Voronoi

Fig.1 Balls textured with the six textures shown here. (top row l to r): genesis1, genesis, genesis0. {bottom row l to r): genesis 2, genesis 3a, genesis 3b.

Fig.1 Balls textured with the six textures shown here. (top row l to r): genesis1, genesis, genesis0.
{bottom row l to r): genesis 2, genesis 3a, genesis 3b. With the exception of the upper-left cannonball, all of these would benefit from separate surface(bumpmapped), cloud and atmosphere globes.

So I’ve experimented a bit more with planetGenesis. This time, my main focus has been on another bugaboo of mine after craters: cloud cover. I am very much liking the swirly weather-like effects I have attained so far. Not to say any of this is perfect. As with the cratering experiments, all of this can definitely be considered work-in-progress. Any constructive criticism or recommendations are altogether very welcome! I also experimented around a bit with more Voronoi-based textures.

Ordinary fBm or heterogeneous fractals, usually based on a Perlin noise, are usually sufficient for clouds as seen from the ground or reasonably low altitudes. From orbit or beyond, they tend to look like… fBm or some other fractal noise! I’ve messed with Turbulence, Warp, Disturb and other domain-deforming nodes, but found them difficult to control.

An image of the graph used to generate the noises described today. There are three separate trees and one minor(but significant) modification to one of the trees.

Fig.2 An image of the graph used to generate most of the noises described today(clouds.pG). There are three separate trees and one minor(but significant) modification to one of the trees.

So, I’ve packed up all the files you’ll need to follow along in this zip file. Because planetGenesis lacks a proper system for adding arbitrary labels to graphs(I’m working on giving No Operation nodes user-assigned labels, but so far I’m doing something wrong…). In the absence of that(and probably marginally clearer than my No Op labels), I’m putting up an image of the graph with labels added in Photoshop.

The red line, running from the output of the Musgrave HeteroTerrain on the left to the input of the Terrain node is the source of “genesis clouds”. You’ll note that it is also possible to connect to the output of the Multiply node, but I didn’t think that was an improvement. The green line from the output of the Musgrave Multifractallize node to the Terrain node is associated with “genesis0 clouds” and “genesis 2 clouds”. The difference is that the genesis 2 clouds pass through the Compliment(“1-x”) node before passing into the Disturb node.

The actually connected tree,”genesis 1″(between the middle Musgrave HeteroTerrain

Fig.3 Genesis 1: An appealing, if time-expensive, fractal noise.

Fig.3 Genesis 1: An appealing, if time-expensive, fractal noise. Probably good for a rock texture or coarse, grainy metal.

node and the Terrain node), is really the least important. It is simply an experiment with combining different neighborhoods of the same Voronoi together in a combined additive-multiplicative manner(F9 * F8) + (F5 * F4) with what planetGenesis calls a QuasiEuclidean distance metric. As you can see in the genesis 1 image, It makes an appealing fractal noise, but, although it doesn’t seem all that slow at 1024×512 resolution, with all those Voronoi calculations I doubt it will scale well to higher resolutions. But YMMV.

I found the genesis clouds tree to be the best compromise between usefulness and speed.

Genesis clouds. A low-frequency noise modified by a higher-frequency noise Turbulence and passed into Musgrave HeteroTerrain.

Fig. 4 Genesis clouds. A low-frequency noise modified by a higher-frequency noise Turbulence and passed into Musgrave HeteroTerrain.

As you can see, I’ve experimented with some variations on this. Multiplying the original noise in with the HeteroTerrain node really didn’t make a meaningful difference. And taking directly off of the Turbulence node through the No Op node has proven very unsatisfactory. I think I’m running into a bug, but I can’t run it down… This one makes a very nice swirly atmosphere. Though it could benefit from something to make the swirls more realistically latitude-dependent, it is beginning to loog plausible and it is quite fast. It’s all Perlin Simplex Noise all the way down and not a terribly complicated tree, so I expect it will scale pretty nicely to higher resolutions.

I added in the resulting noise to Photoshop as a layer as-is. I then used a copy of the grayscale noise as a mask for… an okay effect. After massaging the mask a little with a

Fig.5 Genesis 0 clouds. A somewhat slow combination of Perlin noise Disturbed by a Worley Cell Basis fed through an abs function.

Fig.5 Genesis 0 clouds. A somewhat slow combination of Perlin noise Disturbed by a Worley Cell Basis fed through an abs function.

Threshold adjustment and applying a Gaussian Blur filter, I think it got pretty attractive. I added a simple LunarCell planet surface to get an idea how it would look “in situ”.

The next texture,”genesis 0 clouds,” is very slow, even at a mere 1024×512 resolution, and, while attractive, probably not worth so many octaves applied to a Voronoi, so I’m not sure how terribly useful it is. For completeness, I created a surface map as with the previous noise as seen above. I actually like this more, with massaging, than the genesis clouds, but it is so very slooow.

Fig.6 Genesis 2 clouds. Modified by the Complement node, this makes nice puffy clouds. If this weren't so GODAWFUL SLOW, this would be good in combination with G1.

Fig.6 Genesis 2 clouds. Modified by the Complement node, this makes nice puffy clouds. If these weren’t so GODAWFUL SLOW, this would be good in combination with G0.

Next, I simply add in a Complement node between that last Adjust node and the lhs input to the Disturb node.

Looking at it, I think it might pay to try this with a cheaper Perlin basis and fewer preliminary octaves.

I yanked out the wiring for the other noises and replaced the

Fig.n Genesis 3a:

Fig.7 Genesis 3a: Fast version of G0.

Worley Cell Basis in the genesis 0 and genesis 2 clouds. I replaced that with a simple 1 octave clamped Perlin Simplex. I also modify the settings of the last Adjustments

node such that the output has a range of about (0…1).

I’m going to start with the first variant(no Complement). Call it “genesis 3a”. It runs pretty darn quick. Let’s see how it looks. Not terrible…

Fig. 8 Genesis 3b: A faster version of the G2 puffy cloud generator.

Fig. 8 Genesis 3b: A faster version of the G2 puffy cloud generator.

Now to click that Complement in there… Call it”genesis 3b”. Honestly, I still prefer the Voronoi versions, but these are a good stand in for when there’s a time pinch. Or when, you know, you want a reasonably high resolution texture in less time than it takes to sleep off a bad night at the bar…

That’s all for today. Thank you for watching, folks!
The Astrographer

Advertisements
This entry was posted in Mapping, Planetary Stuff, World Building and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s