Smoothing out voronoi texture peaks?

Hi, I’m creating a procedural texture for a fruit, I am so close to what I want but I can’t figure out any way to smooth out/round off the pointy peaks from a voronoi texture that’s fed into a bump node. Preferably smoothing the seams as well. I’ve tried using a color ramp but the result is flat instead of round. Help?

1 Like

In till someone (not me) who knows texturing comes along :wink:
If you haven’t, maybe using “Smooth F1” in the Voronoi node for the weighted sum and playing with the sliders will give you what ya want.

1 Like

Thank you, that helped with the seams. Yet the pointy bits are unresolved.

I found a way to reduce the peaks as well. First I added a bright/contrast node at -0.995 contrast (sadly this reduces overall effect but it works for this texture), then adding a noise texture as the factor input of a value mixRGB node after the voronoi seems to have a smoothing effect.

Edit:
1# Use the voronoi “smooth F1” setting, by SidewaysUpJoe

2# Use the smooth maximum method as shown in the node tree, instead of the noise method, by Birb.

3# Node-tree and results, by Squaid


SidewaysUpJoe - using “ Smooth F1 ” in the Voronoi node for the weighted sum and playing with the sliders will give you what ya want. (For the hard seams)

1 Like

Good to hear you worked it out and always nice to see a follow up of how it was done, helps others as well.

1 Like

I see you figured it out already, but there’s a lighter way to do this you can freely mix and match with other techniques: Math nodes.


Original Voronoi distance outcome

Smooth Maximum

The smooth maximum operation basically picks the result of a plain maximum operation and blends it out:

The curvature and depth can be controlled directly in the bump node or with other math / map range / color ramp nodes.

I highly recommend trying math nodes whenever possible. They’re quite powerful and tend to more efficient since they’re closer to low level methods than color-mix based approaches, which invariably have more bells and whistles than you need for performing an operation like this on a grayscale map. :wink:

1 Like

I’ve already tried this but the results look flat no matter how much I fiddle with it

Can you show the entire voronoi node tree up to the normal input? It’s hard to tell what’s wrong when you can’t see where the issue lies.

1 Like

Thats interesting, thanks for mentioning it.

If seamless is really how you want to do it, here is how I do it:

2 Likes

Here’s what I found that works, sorry that it took so long but after getting the effect I wanted I had to clean up the node-tree, it was a pure mess with nodes going everywhere.

To it I’ve dragged some math nodes that describes a circle to define the mapping of the texture. The logarithm node is there because it gave the mapping node an effect where the voronoi cells gets pulled in towards the center of the lime in a warping fashion, instead of having circles everywhere.

That’s interesting, I’ll try that too.

Actually, CarlG, if you’re interested you could see my example and maybe find a way to make the cells become smaller (less elongated) towards the edge as it currently is in the middle. I think that would achieve some realistic results. Looking at limes the cell structure becomes smaller towards the center and the rim of the fruit.

And perhaps mimic that effect in your way of doing it!

elongation example

Although this effect is way too pronounced in my example, it’s because I haven’t found a balanced way to do it.

So, first some considerations about this tree: You’re using a ColorRamp followed by a color Invert. You could cut the invert node by flipping the color ramp.

You also didn’t modify the color ramp. Unless it’s acting as an impromptu clamp node it’s doing nothing at all. You can potentially remove it as well if you enable the Invert option in the Bump node.

Now, a way to control the intensity of the smoothing is to tweak the values in the Bump node. Sometimes when mixing textures that should have different strengths this can’t be done, but in this case you’ll be using a single texture, so this can be adjusted directly in the Bump node.

For reference:

DEMO_Procedural_Maximum_Nodes2

Here’s what I found that works, sorry that it took so long but after getting the effect I wanted I had to clean up the node-tree, it was a pure mess with nodes going everywhere.

I know that pain. :joy:

2 Likes

I’m leaving the color ramp in for future modifications, it controls the strength of the voronoi effect, but I think it’s quite good as is. I might use this material in the future where it is not. Also I thought about just flipping the color ramp colors but I like having the black on the left for some reason :joy:. I’ll switch the invert on the bumpnode instead though, that’s smort.

Question, would the invert node affect render times?

I’ll try your smooth maximum method again and if it doesnt work I’ll come back to you.

Some may call that a bit of OCD :smiley: just teasing. Looks like you’re getting the results you want and they do look good, nice job.

1 Like

Haha yeah I’m a bit of a perfectionist like most on here are (I think). Thank you! I’m still interested in taking it further though.

I got your method to work now, although it’s very fiddly in order to get it to not go flat, I think it works better than the noise method.

For a fun comparison I rendered both methods for 10 minutes side by side:


The smooth maximum looks a lot more crisp than with the noise method, although the actual render time doesn’t seem to be affected. (Do note that the bump map was turned way down for the noise texture render) I’m quite happy with my lime now. :melon: :laughing: (let’s pretend that’s a lime)

I want to thank you all for taking your time with this, it’s a lot of fun being part of this community.

Dont know if this will help, but i was making procedural clouds and one of the settings (forget what it did) was doing the same for me, if i moved the slider the smallest amount it made drastic changes. I added a math node after it and think i set it to multiply (could have been divide, i forget) and it helped out, made moving the slider less drastic.

1 Like

That’s not quite what I meant, I mean that finding the correct values was fiddly, and once you think you find them it turns out that you were wrong, since there’s 3 different sliders. Lol