Procedural Textures - cycles?

@Synagl0w: fantastic work, thanks for sharing! Complex stuff going on there… at first I didn’t realize it’s a group and wasted some time looking for that node, doh :wink:
Nice to know that Brick improvement is on the list!

@ Acedragon: yes, I often use a large scale procedural noise to break up repeating image patterns in for example grass.

What I miss most in Cycles is a Cellular pattern (Worley noise), it’s great for cracks, crusts etc.

I agree that the procedural texture side of cycles feels quite limited. It’s clear that technically minded users can transcend some of the apparent limitations by clever noodling. My feeling is though that Blender woudl be much improved if a wider range of procedural tecturing effects were easier to achieve. Ive seen posts of people who share libraries of noodles for materials - it would maybe be too much to ask that a library of procedural texture effects is curated by someone for the community.

1 Like

I really like the idea of having a compositor that bakes the procedurals at render time, if only because having the ability to blur certain procedural outputs would be so key.

However, it would also need to be aware of render resolution somehow - in other words, it should always keep pixels in the texture small enough not to affect the output vs. “true” procedural output.

One great source of information about procedural textures is the osl code for the existing texture nodes from blender. Most of them are not difficult to recreate in the node editor.

About a library, you can start collecting all the stuff people have been posting here in BA. I’m sure many people will appreciate your effort. :wink:

I find it really strange and hard to control, but the example in wiki gives nice results: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Musgrave_Texture



[Edit] I’m guessing the Offset and Gain parameters are supposed to do exactly what those two math nodes are doing (offset = add a value to brighten it, and gain = multiply to adjust contrast). But those parameters do absolutely nothing for me - bug?

Oh yeah thanks a lot ! :slight_smile:
This is exceptionally complex. I’ll need a few days to understand what’s going on haha !

Still looks to me to produce only one octave.


This is Musgrave/fBM from BI. Octaves add fractal detail. I can’t get the same from Cycles Musgrave texture.

Actually on further inspection it works, but its very/VERY hard to control, with too many parameters influencing the visibility of the noise. Its flexible, but not user friendly.

One thing i think is a bit odd in the musgrave node, is the fact that it returns negative values.

Doesn’t the Voronoi/Intentisty setting produce such a pattern?

It certainly looks very similar to the image on the Worley noise wiki page

Yop,

One question, why we have differents procedural textures in cycles and in the displacement textures or other textures in BI ?

You just described OSL.

Instead how about this, better than scripting - a tool that would let us author our own procedural patterns visually.
Because I don’t know the mathematical formula for beveled bricks that have spacing and tilt variation… but I know how to model that in a repeating 3D pattern.

Take this selected box to represent the tile domain, and the bricks within it to be the geometry that is to be tiled.
Edit: Specifying the tiling offset would actually be better done using a method like the Array Modifier uses.
That takes care of specifying the pattern’s volume. Next we just need to add variation, which could be done with shape key drivers.


With each tile the shape keys shift a little differently, causing the bricks to shift position or shape. This Object Texture node or whatever it would be called would have inputs for specifying the tile geometry object(s) and tile domain object, and some shape key options. The resulting procedural output from this node could be used just like the other procedural texture nodes.

Here’s what the effect would look like:



(simulation done geometrically using Intersect)

I’m no expert on coding procedural textures, but I’m pretty sure this feature could be implemented.

Hi, I have ported some tiles textures made in OSL to cycles nodes, so you can use them on GPU:



You can download them in pasteall.

All credits to @Olivier Vandecasteele who made the OSL code.

Great, thank you :wink:

Well, I tried to buy the hex procedural texture, but Blender Market fails, and was way too much frustration.

I realized I am better of just figuring it out myself, than wasting my time trying to figure out how to pay for it. (God, Id so much rather just pay $10 and be done with it!).

Ill post a node tree here if I ever do figure it out, with nodes. (I think the key will be the linear gradient texture, multiplied with Checker or Brick)

Same experience with blendermarket…cool guys

So to start, Use brick texture.
Offset at 0.0
Brick length and row height, set to equal.
change first to colors to white, and mortar color to black.

Already having fun experimenting with this set up.
If you have a particular pattern you want to see, I’ll take the challenge.

Using this brick set up, combined with vector math node, I think I can do anything.

Another Good one is magic texture.
Insert magic texture node connect factor to color ramp
set to color ramp to constant.
Plug color ramp into diffuse shader, and diffuse into material output
Pull right hand slider on color ramp towards left.

Enjoy the show.

Add a texture coordinate node and Mapping node for more control.

EDIT: Nevermind, Magic is the procedural that never actually works as expected. Makes great chainmail, and I use it in conjunction with a whole bunch of other filters to make runes. So far, that is it.

I remembered a “how many triangles in a carpet” math puzzle I recently watched, and decided I wanted to have a go with the pattern (not counting :)) using bricks textures. I’m outputting random colors which I’m then tuning to the ranges I like (in HSV means), that portion could be replaced with a sharp color ramp if you want to limit the colors to a fixed set (or with some different maths).

Since bricks will embed the mortar color into the brick color, and I have to use 3 brick textures (one regular, one skewed left, and one skewed right), I’m forced to use 6 brick textures in order to get the job done. Economically, I think a custom setup would have been faster than 6 generators.

Anyway, here is the node setup:

And this is the result:

2 Likes

Hi,

I’d like to achieve a procedural cell noise type that’s existing of randomly tinted squares, like a random mosaic:

This used to be an option among the procedural textures of the 2.79 internal Blender renderer.

Does anyone know how I could achieve this in Eevee / Cycles?

Thanks in advance for your help.