Procedural Texturing using nodes alone can create any materials?

I recently started learning Blender and its nodes.
Based on some Youtube videos, It seems like you can create any material you want with only nodes.
any material means skin, brick, wet floor, wood, marble, muddy earth, etc.
Is it true theoretically to state that using nodes alone w/o image textures can create any material?

if you want to can create with only procedurals texture or using Images with nodes in cycles or EEVEE 2.8

search the forum for procedural textures samples or the WEB for blender

here is one major thread for Cycles nodes set up
there are 100’s of material set up for all kind of materials
take your time go through all the pages and you will learn so much for cycles nodes

happy bl

1 Like

I guess, technically, it’s true. But that’s only because you could, potentially, specify a color for every single texel and do your filtering in nodes. Doing so would be wildly impractical as compared to doing the same thing with an image, and have no advantages over the image.

Think about making something like a textile print. No way that defining the print pattern in nodes is going to be easier than just drawing a picture.

1 Like

Some pattern can be quite difficult to create, maybe with software like substance designer you can create nearly everything, but cycles / eevee is a bit more limited.
this is made in substance, in cycles I doubt it’s possible :

I used to be very found of procedurals, but it takes quite some time to make and it’s hard to match 100% some natural pattern.
Now 90% of the time I tend to use photo based tiling textures, and mix them with some cloud/ voronoi , it’s way faster and you can get very detailed materials.
Starting form scratch , some procedurals pattern can takes one or two days to create, with photos it’s a matter of hours.

There are really a few cases when taking time to make procedurals pattern is really worth it.

1 Like

Yes, but as already mentioned, it is highly impractical. Usually you’d require so many generators it’d slow down rendering to a crawl. I’m a huge fan of the hybrid approach. Where possible, use procedurals to break up repeating patterns in a texture image and/or modulate its output in some ways.

Sometimes you can even use blender to create those 2D patterns but save them out as images instead due to the rendering cost. But If you do have access to proper tools like substance designer I wouldn’t bother, because you can only have seamless in 1 direction in blender (without stretching or density artifacts), and you’ll have to make it seamless after the fact. I have done this, created several seamless wood textures based on Bartek Skorupa’s approach, where I use this result in further procedural ways to mix and mangle it. Someone elses stuff:

If you want to learn more about manipulating coordinates, this is the video to watch:

1 Like

Thank you! I appreciate your comment.

I see. I understand your point. Definitely, in some case, It would be better off using image textures.

I see. Yes, procedural texturing can take its time to be the way you want.

Yes, I agree with your hybrid approach. and thank you for your references! I need to study a bit more.

Take a look at the BIS library, it accenting on Blender procedural materials.

1 Like

Theoretically you can use the Sin and Cos math nodes to implement a fourier transform that can synthetize any texture , not that it would ve practical or easy tho but yes.

1 Like

Here is an example of a brick wall and tiled floor using the hybrid approach. They both use the same 6k detail texture. Shown shadeless:

But now I use procedural brick texture and some other generators to break it up. Since brick can output random color per stone, I can use this to look up different parts of the detail texture, color and darken it, apply a hue change, have different scale and rotation - basically no limits. All shadeless, wall is shown without the grout, tiled floor is shown with the grout:

With extra per tile control of the grout/border/falloff, in combination with per tile/brick randomly noised up coordinate, you can get a pretty varied result. The wall is using displacement for maximum effect. The floor is using random color-> normal for inaccurate lay effect. Here a render of the result:

Are there texture repeats in the detail texture? Yes. But they are very hard to spot. This was just an experiment, but I’ve seen way better brick textures than these. Still, the setup is quite complex - possibly to the point of being practically unusable, even if I don’t use procedural textures as a “texture generator”.

1 Like

Thank you. This is great. You have added great value to Blender.

Thank you for your example. Honestly, I undserstood 50% of it. I will study what you’re saying. Thank you again.