Blender Studio
  • Films
  • Training
  • Characters
  • Pipeline
  • Blog
  • Sign in
  • Join
  • BLENDER.ORG

    • Download

      Get the latest Blender, older versions, or experimental builds.

    • What's New

      Stay up-to-date with the new features in the latest Blender releases.

    LEARNING & RESOURCES

    • Blender Studio

      Access production assets and knowledge from the open movies.

    • Manual

      Documentation on the usage and features in Blender.

    DEVELOPMENT

    • Developers Blog

      Latest development updates, by Blender developers.

    • Documentation

      Guidelines, release notes and development docs.

    • Benchmark

      A platform to collect and share results of the Blender Benchmark.

    • Blender Conference

      The yearly event that brings the community together.

    DONATE

    • Development Fund

      Support core development with a monthly contribution.

    • One-time Donations

      Perform a single donation with more payment options available.

Films
Training
Blog
Pipeline and Tools
Characters
Search
Login
Join

Course

Procedural Shading: Fundamentals and Beyond
feed Course Overview
Introduction keyboard_arrow_down
  1. 01

    Introduction

    Free
  2. 02

    Definition

  3. 03

    Content Overview

  4. 04

    The Shader Editor

1: Fundamentals keyboard_arrow_down
  1. 01

    Colors, Values & Vectors

  2. 02

    Vectors and Pixels

  3. 03

    Coordinate Types

  4. 04

    Value Control

2: Procedural Textures keyboard_arrow_down
  1. 01

    Noise Textures

  2. 02

    Shape Control

  3. 03

    Repetition

  4. 04

    Texture Composition

  5. 05

    Space Manipulation

3: Shading Principles keyboard_arrow_down
  1. 01

    PBR

  2. 02

    Geometric Dependency - Context Sensitivity

  3. 03

    Generating PBR Maps

4: Shader Composition keyboard_arrow_down
  1. 01

    Blending & Masking

  2. 02

    Randomization

  3. 03

    Semi-Procedural Workflow

  4. 04

    Volumetric Shaders

5: Modular Setup keyboard_arrow_down
  1. 01

    Parametrization

  2. 02

    Nodegroups

6: Automation keyboard_arrow_down
  1. 01

    Drivers

  2. 02

    Animation

Workflow Examples keyboard_arrow_down
  1. 01

    Walls (Chapter 2+)

  2. 02

    Wood (Chapter 3+)

  3. 03

    Dynamic Walls (Chapter 4+)

  4. 04

    Wooden Boards (Chapter 5+)

  5. 05

    Fire (Chapter 6+)

  6. 06

    Rainy Window (Chapter 6+)

Files & Tools keyboard_arrow_down
  1. insert_drive_file Example Scene visibility_off
  2. insert_drive_file Example Scene - Simplified visibility_off
  3. insert_drive_file Visualization (Chapter 1-4): Value Graph visibility_off
  4. insert_drive_file Visualization (Chapter 2-5): Space Origami visibility_off
  5. insert_drive_file Example Shader (Chapter 3-1): Rock visibility_off
  6. insert_drive_file Example Shader (Chapter 4-1): Dilapidated Cube Scene visibility_off
  7. insert_drive_file Example Shader (Chapter 4-3): Image Texture De-Tiling visibility_off
  8. insert_drive_file Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards visibility_off
  9. insert_drive_file Example Shader (Chapter 4-4): Procedural Volumetric Clouds visibility_off

Course

Procedural Shading: Fundamentals and Beyond
Introduction keyboard_arrow_down
  1. 01

    Introduction

    Free
  2. 02

    Definition

  3. 03

    Content Overview

  4. 04

    The Shader Editor

1: Fundamentals keyboard_arrow_down
  1. 01

    Colors, Values & Vectors

  2. 02

    Vectors and Pixels

  3. 03

    Coordinate Types

  4. 04

    Value Control

2: Procedural Textures keyboard_arrow_down
  1. 01

    Noise Textures

  2. 02

    Shape Control

  3. 03

    Repetition

  4. 04

    Texture Composition

  5. 05

    Space Manipulation

3: Shading Principles keyboard_arrow_down
  1. 01

    PBR

  2. 02

    Geometric Dependency - Context Sensitivity

  3. 03

    Generating PBR Maps

4: Shader Composition keyboard_arrow_down
  1. 01

    Blending & Masking

  2. 02

    Randomization

  3. 03

    Semi-Procedural Workflow

  4. 04

    Volumetric Shaders

5: Modular Setup keyboard_arrow_down
  1. 01

    Parametrization

  2. 02

    Nodegroups

6: Automation keyboard_arrow_down
  1. 01

    Drivers

  2. 02

    Animation

Workflow Examples keyboard_arrow_down
  1. 01

    Walls (Chapter 2+)

  2. 02

    Wood (Chapter 3+)

  3. 03

    Dynamic Walls (Chapter 4+)

  4. 04

    Wooden Boards (Chapter 5+)

  5. 05

    Fire (Chapter 6+)

  6. 06

    Rainy Window (Chapter 6+)

Files & Tools keyboard_arrow_down
  1. insert_drive_file Example Scene
  2. insert_drive_file Example Scene - Simplified Free
  3. insert_drive_file Visualization (Chapter 1-4): Value Graph
  4. insert_drive_file Visualization (Chapter 2-5): Space Origami
  5. insert_drive_file Example Shader (Chapter 3-1): Rock
  6. insert_drive_file Example Shader (Chapter 4-1): Dilapidated Cube Scene
  7. insert_drive_file Example Shader (Chapter 4-3): Image Texture De-Tiling
  8. insert_drive_file Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards
  9. insert_drive_file Example Shader (Chapter 4-4): Procedural Volumetric Clouds

You need to login to view this content

You can join Blender Studio for €11.50/month and get access to all of our training & film content instantly!

Login Join Blender Studio

4: Shader Composition

Randomization

Aug. 7th, 2020

info License: CC-BY
Report Problem
Simon Thommes
Simon Thommes Publisher

Join to comment publicly.

10 comments

victor p
victor p Oct. 26th, 2020

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?

Simon Thommes
Simon Thommes Oct. 26th, 2020

*@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.

victor p
victor p Oct. 26th, 2020

*@Simon Thommes* Thanks for the quick reply. Anyway i hope there will be more workflow examples to come.

Stylianos Andreolas
Stylianos Andreolas March 2nd, 2022

This is an outstanding tutorial. The quality is 10/10

fu233
fu233 May 22nd, 2022

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.

Simon Thommes
Simon Thommes May 22nd, 2022

@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.

Gary Brimer
Gary Brimer July 3rd, 2022

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?

Simon Thommes
Simon Thommes July 4th, 2022

@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 :)

Gary Brimer
Gary Brimer July 27th, 2022

@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.

Simon Thommes
Simon Thommes July 27th, 2022

@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

  • Films
  • Training
  • Blog
Pipeline and Tools
  • Cloud Rig
  • Blender Kitsu
  • Contact Sheet Add-on
  • Blender Purge
  • Blender Cloud Services
Characters
  • Einar
  • Security Bot
  • Huginn
  • Pack Bot
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
  • blender.org

Blender Studio

The creators who share.

Facebook Logo Twitter Logo YouTube Logo
Loading...