Where to learn about procedural texturing / shading w/ nodes?

Hi, I am a noob in blender and 3d in general, and I would love to create procedural textures and materials/shaders with NO images :slight_smile:

I found out a way where I needed to script mathematical functions with the math nodes in blender. and also that eevee won’t render procedural shaders the same as cycles will.

But i can’t figure out much more. I don’t know enough about nodes and renderers in general, and not much more about how to translate mathematical functions that represent geometrical shapes into blender’s nodes … i tried to dl some blend files from people doing amazing stuff, but i am so lost in all the nodes and group nodes !

So do you have advices or know any sites / videos to learn more about this procedural stuff in depth ? even blender artists I could follow that know about it ? (i’ll continue to try to understand it as much as i can :grin: )

Thanks!

Btw I mainly use 2.8

2 Likes

Hi @pada1 , take a look at this website: http://www.blenderinsight.com/

1 Like

I’m working through this course at Udemy:

https://www.udemy.com/blenderenvironment/

I’m at the “shaders and shader nodes” section. It’s quite in-depth and starts at the beginning so I wasn’t lost.

Also, find procedural shaders and other shader node setups and buy them if that’s required or don’t if it’s not, and look at what the authors have done.

For example:

There’s also a guy on Gumroad who writes a shader called “B’rn”. It does great fire. He also has a bricks one. All totally free.

1 Like

Don’t get too strung up in the “no images” thing. Learn to manipulate coordinates and image blending using procedural control, and you’ll get a long way. A lot of patterns are not straightforward to setup procedurally, and have them be plausible to use for actual rendering with efficiency - being able to utilize images will be of great value.

Have a look at this thread:

3 Likes

I find this usefull for me:
Source page
Procedural “wear and tear” using cycles Nodes

2 Likes

Thank you all very much for the help ! Every link and advice is gold and I’m sure it will help more newbies and maybe some intermediates :heart:

Just to add more references, here are some artists you can find on Artstation who do amazing jobs and give away free procedural shaders to play with : :smiley:

Simmon Thommes, also has a youtube channel : scales, knitwear, bricks

Jakub Wysocki : incredible crystal shader

Michael Arenander : planet shader

Those are just a few, you can find many more. :slight_smile:

I learned a lot from this vid https://www.youtube.com/watch?v=CoCDbCbeiAk&t=283s
The guy started course for procedurals on youtube, waiting for more vids

1 Like

I suggest that you do it in the same way that I first learned how a combination lock works: "find something that works and take it apart!" :smiley:

In other words, go find an existing blend-file on the Internet which uses a procedural texture that is based on a node network (“noodle”). Then, start fiddling with it and see what happens. Now, there will be times when the object will “go black” because the last change that you made caused the texture to become non-functional until you “wire it up again,” but this too is a great way to learn. Fiddle with the knobs and switches to see what each one does.

The most important thing to remember about “anythiing nodes” is that this doesn’t have a direct, real-world analogy. In a way, “you are programming a computer.” You’re defining an algorithmic function. You are taking certain inputs, passing them through various filters, and sending them to an output. In the case of a material or texture, you visualize what you want it to look like, then in essence program the thing to produce the desired visual outcome. And, as I said, maybe the easiest way to do this is to take something which somebody else did which now works, and tear it apart to see exactly how it works. (And then, "okay, how can I make it do (this), and still keep it working?")

Save a copy of the original file so that you can always go back to it when :slight_smile: you screw something up.

3 Likes

Creating materials without any bitmaps can be a very useful skill when creating large scale environments like landscapes and cities. Of course there are ways to mask repeating elements but often that is just as much or even more work then making a material that has no bitmaps at all.
There are of course materials that work better with bitmaps as well.

1 Like

A procedural texture has the same advantages as a fractal or a SVG: since it is algorithmically generated, it can be used without loss at any resolution and on an area of any size. (Nodes give you complete freedom for defining this algorithm.) A bitmap texture, on the other hand, is ultimately sourced from an array of pixels. I like to use procedurals for large areas that aren’t going to be examined closely. Don’t forget also that you can combine textures, so a procedural “base coat” might have a bitmapped accent.

1 Like

This is the book you need. It is an old book on this topic. It is not about a particular software.

And this

These books talk about developing and scripting them but the initial math can be applied to the nodes.

Also any book on Renderman Shading/Texturing will be helpful to you.

2 Likes

I don’t disagree. But often you’ll come across materials with patterns that are just too complicated to create with the variations they have with the tools we have. Keep in mind the tools we have in Cycles are extremely limited. I.e. if you do fabrics you may look into twill patterns:

I’m sure all of these can be done mathematically with some node trickery. But why, when you only need a tiny image or just a few pixels to control it - the rest of the fabric material can still be fully procedural.

I was there myself. I had to do things procedurally. Although there was no need to, I needed to know for myself if I could do it, ref the absolute crazyness in the top of this thread.

Then there is also the concept of efficiency. When you need tons and tons of generators in Cycles to do the job (because they are too basic), it comes slowing to a crawl producing anything with it. Good looking scratches is a typical thing where I would use blended images over all the generators needed. Sometimes even the blending procedure is coming to a crawl, like the blended triplanar (from a sixplanar) mapping which doesn’t even work in Eevee due to being too complex - and that’s just for blending! In Blender it takes three nodes just to lerp two numbers (if you want to visualize those numbers).

Don’t get me wrong, understanding nodes is a very handy skill. But think outside the box:

  • You don’t always have to use nodes for everything, just because you can.
  • or have to avoid UVs.
  • or think that UVs only have just one use.

Instead, be flexible in your mindset. The gsoc node update looks extremely promising with better voronoi, vector and math nodes.

4 Likes

Great point. I always think of my background, which is in 2D design. It’s like vector graphics versus raster graphics - with vector graphics you can blow whatever it is up to the size of a billboard and you’re still fine. Not the case with raster graphics unless you’re in one of those science-y or science fiction shows where you can just shout “ENHANCE!!” at the computer in a dramatic fashion and the thing zooms in indefinitely with no loss of detail. :slight_smile:

A node that generates simple patterns without using the tricks and math would be nice.
Why arent there more nodes like “checker” for lines, trianangels, circles?

Check out this:

The checker generator is way too basic (also it’s “buggy”). We need outputs for random color generation, gradients generation, and 2D coordinates as well. So for a fairly basic “actual checker tile”, you need the checker for the checker pattern (only), a square producing bricks with grout, and a square producing bricks without grout. Checker can drive light and dark but that’s about it.

1 Like

Those can all be done quite easily with OSL. Yes, they are good examples of how not to do things with nodes; they are not good examples of how not to do things procedurally.

The whole procedural thing is nice, but generally I’d advise to use it only when you can’t do it with images. A texture lookup will almost always be faster than a complex node tree. Images are a good thing.

Plus, your materials made with images are much more portable to other renderers.

OSL is (was?) incompatible with IES lights, so it isn’t an option for me at rendertime.
Nor are they GPU compatible should I need to render at work (GPU) rather than at home (CPU).
However, I do have some OSL scipts around I use to pregenerate flexible twill patterns.
They were part of a big bundle of OSL stuff I found laying around on the internet :smiley:

But then again, do you need IES when you’ve got OSL?

Yes. I prefer the quick and easy “just add the file”. I didn’t have a look at it, but it looks complex to translate. Maybe it’s not and I’m just lazy.
But still, OSL is incompatible with Cuda rendering.