Thanks to Your Help Fractal Voronoi Noise Was Added Into Blender!

If I find some time I will try to recreate it and upload it.

Thanks! If you find the time you could also try out my implementation and see what you can create using that. :wink:

The Rougness Slider appears not to work with the color output. Is that a bug or a limitation?

The Color and Position outputs simply output the Color and Position of the highest layer, therefore the Roughness input doesn’t affect these 2 outputs. This is done to increase performance but if you have any suggestions on how to better handle the Color and Position outputs fell free to share them.

The color output can be very powerful. It would be good if its roughness stacked just like the distance outputs roughness.

Here is an illustration with a quick node group. 1 iteration, 2 iterations and and 5 iterations of color output. It sort of gradually chops up the large chunks into smaller chunks but keeps the general elevation.

3 Likes

I also noticed that in your voronoi node the iterations do not get a new seed. This leads to some pretty cool effects but i am not sure if it is allways desired. Perhaps there should be an option to give each new iteration a new seed?
This is noticable with lacunarity values around 1:

Ah, and the “Distance to Edge” Setting can make use of the roughness value as well. It can make quite nice formations:

1 Iteration vs 6 iterations:

2 Likes

I’m seeing some great uses of this that I hadn’t considered, but coming into this thread my main thought was: I hope this enables looping/tiled Voronoi :smiley:
I believe Bartosz Moniewski made a patch for it, even?
Edit: someone else: https://developer.blender.org/D3743

There’s a cool tutorial from Erindale about how to prepare the coordinates for a Voronoi pattern to be tileable. Saved as a node group this can be used to make every noise tileable.

Ideally Blender would ship with a library of community node groups adding essential features.
Don’t see this happening soon though, in 2030 maybe :slight_smile:

3 Likes

The color output can be very powerful. It would be good if its roughness stacked just like the distance outputs roughness.

The results look pretty nice I’ll make the Color output add up like Distance output does. It’s then probably best if the Position output is also influenced by the Roughness input I’m thinking of a linear interpolation of the feature points with the Roughness input as factor.

I also noticed that in your voronoi node the iterations do not get a new seed. This leads to some pretty cool effects but i am not sure if it is allways desired.

Yes it was indeed intended for all iterations to get a new seed.

Perhaps there should be an option to give each new iteration a new seed?

While this would be an obvious option to add, due to the code structure of Blender’s Voronoi it isn’t easily implemented and would complicate code a lot so I thinks it’s best to leave it as is for now.

1 Like

The current implementation calculates the actual distance to the closest edge of any layer so a Roughness value kind of doesn’t make a lot of sense.
This actual distance is pretty handy if you want to have any kind of cell boundary detection. For example with the aforementioned adding up of the Color layer outputs there would be a more or less out of the box way to create the “smaller-scale cells would be subdivisions of larger-scale cells” patterns that @Solvent mentioned.
So yes with a reworked Color output those kinds of patterns will be possible to create.

1 Like

Yes it will be possible once I’m done reworking the Color output.

This implementation doesn’t aim to create tileable Voronoi. But since I separated the Fractal functions from the base Voronoi noise function it would immediately work with tileable Voronoi if it were to be further developed.

1 Like

Due to Blender’s Gitea migration I currently can’t make any changes to the code.
Besides that I’d like to gather more feedback and ideas before I make a major rework for Fractal Voronoi noise.

Unrelated to that I want to mention that while I do enjoy reading all the feedback and ideas (Thanks!:hearts:), it would be really beneficial if someone posted some real world use cases of Fractal Voronoi noise since all the great ideas aren’t any good if the final implementation doesn’t make it into Blender.

2 Likes

Here is some Ice:

10 Likes

Nah, it’s possible, a quick and dirty proof of concept:

What’s sadly not possible is something like this:

3 Likes

Yeah, but it really is quick, dirty and pretty limited.
Some things just can not be done with this set up. Making the “child” cells dependant on some property of the “parent” cell is not possible for example. You are stuck with a limited amount of sizes which makes it impossible to use for a lot of things where you want to dynamically adapt your cell size. You can not even hard code that many cell sizes into your shader because sooner or later you will run into the dreaded stack limit.

Voronoi is, imo, the most fascinating texture out there and it would be really awesome if it got a couple of upgrades.

4 Likes

Like I said the first pattern will be easily creatable after the Color output rework.
The second pattern is already technically possible using the current Voronoi Texture but requires quite a bit of vector math, so as Lumpengnom mentioned you will hit the stack limit rather quickly.

I plan to do something about that sometime in the future like making the stack limit user adjustable if that’s possible.

The Ice looks absolutely fire! :fire:
(You get it? Cause ice and fire…)

Anyways if you have more Fractal Voronoi renders you’re more than welcome to post them here. :wink:

Here is a mountain series. It uses only the color output.

Image 1: 1 Iteration
Image 2: 2 Itartions
Image 3: 4 Iterations
Image 4: 8 Iterations




5 Likes