Support Blender Core Development with a monthly contribution.
The creators who share. Access production content and knowledge from the Open Movies.
Latest news and updates on Blender development.
Join the community and help with design, development, docs and more.
A platform to collect and display the Blender Benchmark results.
Documentation on Blender's features, tools and API.
The yearly event that brings together the Blender community in one place.
Download the latest Blender version, or try the beta!
The Shader Editor
Colors, Values & Vectors
Vectors and Pixels
Geometric Dependency - Context Sensitivity
Generating PBR Maps
Blending & Masking
Walls (Chapter 2+)
Wood (Chapter 3+)
Dynamic Walls (Chapter 4+)
Wooden Boards (Chapter 5+)
Fire (Chapter 6+)
Rainy Window (Chapter 6+)
Example Scene - Simplified
Visualization (Chapter 1-4): Value Graph
Visualization (Chapter 2-5): Space Origami
Example Shader (Chapter 3-1): Rock
Example Shader (Chapter 4-1): Dilapidated Cube Scene
Example Shader (Chapter 4-3): Image Texture De-Tiling
Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards
Example Shader (Chapter 4-4): Procedural Volumetric Clouds
You can join Blender Studio for €11.50/month and get access to all of our training & film content
4: Shader Composition
7th August 2020
Join to comment publicly.
26th October 2020 - 11:41
Hi Simon, for me this course is like learning level 100 while i'm still at level 15.. Any suggestion on how to go from level 16 to 99? Can you make more course to get me through those levels step by step? Or do you know good courses that i can learn to be able to understand procedural shading in a more step by step manner?
26th October 2020 - 12:27
*@victor p* The idea behind this course is to cover as much of the concepts and techniques that I am using for procedural shading as possible. For the subject matter of procedural shading it is necessary to dive quite deeply into those concepts. Of course, how intuitive the things that I talk about are is very subjective and that makes it impossible to adapt to everyone's individual learning style.
I already structured it in a way that it makes sense on a step-by-step basis, but it is not meant to just be watched in one go. I highly recommend to make use of the workflow examples, but also additionally make your own experiments with the concepts that I present.
26th October 2020 - 12:34
*@Simon Thommes* Thanks for the quick reply. Anyway i hope there will be more workflow examples to come.
2nd March 2022 - 23:22
This is an outstanding tutorial. The quality is 10/10
22nd May 2022 - 12:19
What is the difference between Fac and color in Noise texture; value and color in White noise texture? Every time I follow tutorials I confused with such decisions of switching the socket.
22nd May 2022 - 17:57
@fu233 One outputs a single value, while the other outputs an actual color. So the color basically gives you 3 noises instead of just one (RGB) which you can separate with the Separate RGB node. The value outputs is essentially just the R component of the Color output.
3rd July 2022 - 20:53
I've come across an issue where I am following along but getting a strange issue. My node setup is Text Coord:Object > Vector Multipy > Vector Snap > White Noise Texture > Viewer node. This seems to have worked fine when I used it before, but now I am getting a strange banding/noise artifact across some faces of a cube. It seems that slightly offsetting the repeats or altering the rotation of the noise helps this somewhat, but does not eliminate it in any kind of reliable way. What might be causing this?
4th July 2022 - 11:51
@Gary Brimer When you use object coordinates the faces of a defaullt cube are exactly orthogonal to the XYZ axes. That means that there are cases where for example the X coordinate on a face is exactly 1. When you do the snap operation that means the points on the face are right on that edge of either snapping to 1 or to 0, if they are slightly below 1.
In theory it should be well-defined if the value is exactly 1 or slightly lower, but because computers only deal with values with a certain accuracy that is not perfect there are some fluctuations. Usually those are so small that you can't notice them, but you are amplifying the issue by snapping the values at exactly that point where they fluctuate.
I hope that makes it understandable :)
27th July 2022 - 03:28
@Simon Thommes Thanks for the reply Simon, this does make sense. I was also not understanding that at certain times we are squashing an entire axis onto another, making them both essentially battle for the viewport. It's definitely a mental fight to not see the surface shapes/designs as they appear from these types of things, and instead see them as cross sections of various transformations.
27th July 2022 - 10:37
@Gary Brimer The thing about squashing an axis might be a misunderstanding. Multiplying a coordinate by 0 on an axis is like scaling the coordinate system up infinitely on that axis, it is inverse. So different coordinates are not competing.
But maybe I misunderstood your point