Procedural organic, branching meshwork

I’ve been baffled for quite a while about the ‘top’ layer of these iris textures (claimed to be procedural):

What I mean is the component that looks like a elastic sheet with holes of variable size poked into it (reminds of Voronoi to some degree). Or might also be called ‘bifurcating strands’, weave, meshwork, whatever. I’m bad with image manipulation, so sorry for the poor quality, but I tried to isolate the pattern I mean:


Can’t figure out how it has been done (which drives me crazy). Any ideas, how would you create that with procedurally with Cycles nodes?

Custom variant reimplementation of Voronoi? Some insanity with duplicated node groups to create branching strands?

Quite a riddle, isn’t it?

If it’s procedural with nodes only - I would go with insanity.

My guess is that the shape in your link is a voronoi distorted by some other texture, possibley a noise.
Perhaps a setup like in the following image was used.
It is then added on top of each other with slight variations. Perhaps some clever use of the math node set to modulo was used.

Making it converge towards the center of the eyeball is a matter of mapping it correctly.

I’d also suggest taking a look at the Musgrave texture. It’s often overlooked because it’s so unintuitive, but once you get a wrangle on it, it’s quite possibly the most powerful procedural on offer in Blender. Especially for organic strand-like structures.

Here’s some fiddling with 2 overlayed Musgraves:


Yes, that is about what I was thinking. But distorting would not suffice, I believe. When looking at this image

isn’t it the case that the density of cells increases towards the outside? Thus I was thinking about a variant Voronoi implementation which can vary the point density in this way.

On the other hand, there are clearly strands intersecting each other, which Voronoi could not do. But strands would not create that ‘elastic sheet’ effect near the intersections. See, why it is driving me crazy? :joy:

Maybe you are up to something with considering multiple Voronois with variantion. But, ehm, how exactly to really get this?

Actually, I really love this kind of branching patterns, and I would see lots of uses for it. I am hoping that there is something deep to learn from this…

@cgCody I know Musgrave pretty well, and I agree that it can create really cool things. But I doubt that it can create this. The ‘cells’ are placed too orderly.

Can you post the blend or expand all the nodes? I think there’s non-default values in some of the collapsed nodes because I can’t get quite the same look guessing.

why don’t you use the image shown as a UV image
should work fine !

proc texture are nice but difficult to control

happy bl

I already deleted the example, but I can tell you the mapping node going into the second Musgrave has an arbitrary Z rotation, to set it apart from the first. The divide node is 1 / [value node]. And the math nodes normalize the output to a 0-1 range.

If you want to map the pattern radially, a starting point would be to seperate the vector’s XYZ. Square the X and Y values, add them together, and input the result into the Z component of a combine XYZ node. X and Y go straight from seperate to combine node. Combine node goes into the vector input of the Musgrave (or other) texture. Translate the texture space as needed to center the pattern.

I was also working on some ideas to radially stretch the pattern, but the OP was rather dismissive of my offer of help, so I stopped donating my time.

I apologize, if I left the impression that I don’t value your help (or anyone else’s). I know, I sometimes do.

Interesting method to create radial textures, btw. I would simply have scaled the radial distance and keep the coordinates 2d, but your way needs quite a few nodes less.

@RickyBlender Actually I’m not in need of a eye texture currently. The question is aimed purely at understanding stuff. I often do that, look at what others have been done, and when I see something I would not know how to do myself, try to figure it out :slight_smile:

No worries. I was probably being overly sensitive anyway. I enjoy a good discussion on material techniques and your response was basically “no…” Hehe
It’s all good though. I’m sure you didn’t mean it like that. :slight_smile:

I do agree on your response to Ricky. Exploratory excerses like these are a good way to expand your knowledge. And at the end of the day, you might end up with node groups you can use in other scenarios.

I created this on another thread - might give some ideas:

Baffled. Very interesting. I would have guessed the inevitable diagonal stretching when varying scale would be more obvious, but it actually is almost not noticeable.

Thanks. My blender crashed while I was messing with your version, so I’ll try recreating it with the updated info. I did try a different method completely that I thought of but I couldn’t really figure out what to do to move forward. Not really that great at nodes.


Sorry to revive a year old thread but thanks so much for posting this ! I’ve been playing a lot with Musgrave nodes, and felt like I was on the right track for what I had in mind but nothing was making me happy. Problem I was having was combining the Musgrave with other nodes (noise, voronoi, magic, etc.) and getting interesting results but nothing that fit my vision.

I made a couple of tweaks to this node setup and ran it through a bump node to my principled shader setup for a material I’ve been trying to give just that little touch of… something, and this was it. It isn’t veiny, which would have been overkill, but looking at the negative space in your screenshot gave me the idea that it would be a terrific surface enhancement for an element in my project. Considering I’ll be animating the strength of the bump for a sort of “creeping/breathing” effect it was ideal.

I just wanted to say thanks… in a whole lot of words! Didn’t really mean to completely geek out about it, but it can happen!

1 Like

Don’t feel ashamed to geek out about it. That’s why we’re all here. :slight_smile:

1 Like