Developer Forum

Cycles/EEVEE Improvements - Weekly Reports

I really, really hope this url is placed on the user manual for procedural textures.


OMG We need this in master ASAP.
Almost every one of these are features I’ve been wanting for a while now, and some others that I didn’t even know I wanted, but now I do.


I like the “smoothness” in voronoi, therefore, I think there is an UX problem.
Users will be adding this node mainly for their blur capabilities, so why not renaming to a “blur node” instead?

Correct me if I’m wrong. Cheers

Its not decoupled. You cant use only the blur capability since its a generative node.

I agree though, a blur node would be absolutely amazing.
In the meantime we can use this workaround:


1 Like

Excellent stuff.

Some of these will ease the need for complex setups. A lot of it is possible for the first time out of the box.


Noise Texture

1D, 2D, and 4D versions of perlin noise were added.


1D noise can be used as a general noise function when only a single axis is varying:

This axis can be time, in which case, the noise act as a 1D wiggle:

More specifically, it can be used, for instance, to create a brushed metal texture:


2D perlin is almost two times faster than 3D perlin, so in cases where 3D perlin may not be needed, like terrain generation, using 2D perlin should noticeably speed up your scene.

Additionally, 2D perlin can be used to animate 1D perlin:

Or to make 1D perlin C¹ continuous at i / scale for any integer i:


Primarily, 4D perlin can be used to animate 3D perlin:

Or loop a 2D perlin animation:

Musgrave Noise

Musgrave noise was also extended to 1D, 2D, and 4D dimensions. Since it is very similar to perlin, the aforementioned examples also apply and I shall not showcase it further.


Very Cool, Blender is just getting more better each week, also what Linux/Window Manager you using there @OmarSquircleArt .

Arch Linux with i3-wm. Not a fan of i3, but using it temporarily until I write my own X window manager. :smiley:


Thank you for your great work! It’s good to see such confidence at a GSoC.
Although I wish there would be preset node groups of all these use cases.
The average end user has no clue on how to get to these seemingly simple noise setups with basic math nodes. These should be somehow accessible out of the box.


I feel like most of these don’t really need a out of the package node. Only for very specific common use scenarios is that a good idea, imo. Maybe the nodes for “looping” the 4D textures could be bundled, and perhaps the “scatter” setup? But I think that would come with its own set of complications, and would probably be outside of the projects scope, or so I would assume.


Looks great , maybe add some more noise types as well currently procedural marble and cracks an erosion and star dots are complex todo dither patterns as used in graphic industry might be useful as well.

1 Like

good documentation & tutorials can also help the average user.

1 Like

Hello @OmarSquircleArt, great job so far.
Do you think that this RCS feature request can fit in your GSoC?
Would it be appetible?

it seems that variable voronoi size is somewhat possible

It seems like something that can be done using a node group. Not sure if it is worth it.

Seems like this was done manually using multiple voronoi nodes, so not exactly variable.

1 Like

mmm, someone already answered like this, but how?

The most useful here is probably 4D, which could also be displayed as a “time” or “seed” value in order to skip implementing 4D vectors.

Very nice. Reminds me some works from Just some idea:
It would be interesting to add Voronoi cell center position control as generic input. This way interesting effects could be achieved. For example odd alternating input pattern in one axis leads to hexagonal honeycomb pattern.

Volume Info Node

A Volume Info node was added. The node provides the color, density, flame, and temperature of smoke domains:

Vertex Color Node

A Vertex Color node was added. The node provide a nice interface to select the target Vertex Color:

Vertex Color Alpha

The alpha value of the vertex colors is now exposed:

Object Color

The object color property is now exposed through the Object Info node. This is particularly useful when using a tool like Animation Nodes, where colors are computed in Animation Nodes and needs to be passed to the render target. For instance:


For the Vertex Color node, it should be noted that the vertex layers are queried from the mesh of the active object. So if the active object has no mesh, no layer can be selected:


@OmarSquircleArt Yes yes YES! You are awesome! Does that actually mean we don’t have to add those unintuitive ‘density’ and ‘color’ attributes anymore for rendering smoke!?