Cycles/EEVEE Improvements - Weekly Reports

As for Gradient, here is what I try to achieve:


Edit: As for Gradient I’ve used Scatter example and it’s working fine. Still don’t know how to utilize something like mortar.

and then be able to use it for tiles generated with voronoi:

@Alberto yes, I’m trying to make something like tile generator but I don’t know how to use (basically) shapes as vector inputs. I don’t think it will be possible :frowning:

I coma back after test to tell that you can do that.

Maybe we need to investigate about this


1 Like

I’ve got it now. I’ll edit this one in a second. Just last tests :slight_smile:

Edit: Ok, here it is @Alberto :

Size, mortar, angle and shape is tweak-able. Now blurring edges and it’s done :joy:

Edit 2: Smooth F1. Maybe it’s not super looking but it’s something :wink:

Edit 3: Still not it. I can’t add random colors to the tiles :frowning:


These are all great additions, especially the smooth voronoi and the mapping node. I use Substance Designer at work and at home pretty much I don’t close it ever :smiley:, so these additions make me feel bit more at home when using Blender’s material node editor.
It’s a shame we can’t have a true blur node but the smooth voronoi is close enough for the time being I suppose.


Well for one I think it would be better to have something like Face Maps but being able to assign colors to them which then can be ran through inputs as attribute FaceMap to color the materials’ diffuse texture for example. This can be done with splitting mesh at places where materials change and using vertex color, but it’s really time consuming and requires the mesh split up to not have it blending for example.

Another way of looking at it is through having a possibility to assign a Color to each material slot but here I see good functionality for many same/different objects where you can use one material in different color variations but it doesn’t really perform well with single object where you still need a different slot for each color but at least you can use the exact same material for all slots at least.

My current problem (and it applies to many others) is that if you want to change the color of the material, you need to make a new material variation and alter the color in it. But what if you then make updates to the material that don’t concern colors? Well then you have to do it for all the variations you’ve made…

I guess the there could be something like FaceColor next to VertexColor which could take care of this. Having an option to assign color to the material slot would be great aswell though and I guess more easily doable. In the dropdown menu there could be something like “enable material slot colors”

So if I got you right, you want the material to become more like the nodes groups, which have global values and local values

The FaceMap you are describing just seems like a vertex color map with face selection painting, is this what you want?

This is already easy to do with vertex colors.

IMO what is missing is an easy way to make individual items have slightly different, unique appearances without creating new materials. Color differences are easy enough to do with vertex colors, but texture differences take a little more node wizardry to pull off.

Of course, you could use node-groups for this, but I think there’s a performance cost to having more materials when rendering. Perhaps all of this is out of scope for your project, since it should be possible with Dynamic Overrides soon enough.

I think it would be awesome to be able to access the current view-layer from the material nodes, to modify the material output per-view layer. Then again, this may be solved by implementing custom AOVs, which I understand is eventually planned for Cycles.

This is my first time looking at this branch in a few months, and I am extremely impressed by what you’re doing. The scatter node setup will be extremely useful for NPR rendering.

Does your new Vertex Color node remove the hard-coded color managent? It causes problems when using vertex colors to store data (e.g. - displacement, roughness, normal, etc.)

Hi, since it sounds like Minkowski will be dropped from the voronoi node, can this effect be replicated with other nodes? I find the exponent really useful for creating shapes with very sharp curves, and the way it scatters in such a way that the shapes overlap is nice too.



1 Like

@BennyG or @OmarSquircleArt would you guys have an idea on how to create a Bubble like pattern without bubble intersections? (Like coffee bubbles for example)
I’m not sure pure Voronoy would achieve this. If using it as a base, one would require a new set of points to be generated inside of only the “empty” areas between the initial points (“empty” meaning the areas before the initial points/areas intersect).
As you can see from the images, the coffee bubbles don’t merge, like soap bubbles do.

Is this possible? would this even be the solution?

(Yeah I’ve considered using particles but they don’t have self-collision in Blender, and yeah I’ve considered using Rigid Bodies but they are extremely taxing on my computer, so I was after a math/node solution)
Thanks for the attention!

Check shader hyz foam challenge.


What makes you think the Minkowski metric will be dropped?

@Evandro_Costa You may use the N-Sphere radius feature to minimize empty spaces as described in my report above:

Additionally, reducing the jitter/randoness input would generate more tightly spaced circles, though more uniformly.

I recommend you use Animation Nodes for such applications. I described a very similar problem in my answer here:

In which we can generate patterns likes this:


Thanks a lot @YuryZiankouski and @OmarSquircleArt great suggestions!!
These resources will help a ton!
Omar you are definitely an Animation Nodes wizard :joy:

Thank you for the new nodes!

At the moment I’m trying to make a seamless loop with the 4D noise texture by mixing two animated noise nodes together at the seam, but I can still see a jump once the loop starts over.
Could you perhaps implement a loopable version of the animated noise like in the answer here, but for the “normal” noise of the Noise Texture node?
Perhaps a checkbox that switches from the current code to a loopable implementation?

1 Like

From this but I might have misinterpreted that as you were talking about the distance-to-edge feature :slight_smile:

Did you check the examples I provided in the weekly reports above? There is a node tree implementing seamless noise.


Thank you, totally overlooked that, even though I googled and searched this page :astonished:

Works great but I think it is very important to see nodes as a means to connect things in creative ways that would not be possible with the usual ui or that haven’t been thought of by the developers. Once we have to use nodes for “basic” (definitions tend to vary) things, they become a chore.
When I googled “blender loopable noise” I couldn’t find this page, so I would assume that most people that need seamless noise would just assume that it is not possible.

I really appreciate the work you have done and those impressive examples, but it would be great if you or somebody else could add this functionality.

1 Like