Films Training Blog
Pipeline and Tools Characters
Pipeline and Tools Characters
search Login Join
favorite

Development Fund

Support Blender Core Development with a monthly contribution.

theaters

Blender Studio

The creators who share. Access production content and knowledge from the Open Movies.

code

Blender Developer Blog

Latest news and updates on Blender development.

people

Get Involved

Join the community and help with design, development, docs and more.

bar_chart

Open Data

A platform to collect and display the Blender Benchmark results.

menu_book

Blender Docs

Documentation on Blender's features, tools and API.

Blender Conference

The yearly event that brings together the Blender community in one place.

download

Get Blender

Download the latest Blender version, or try the beta!

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

2: Procedural Textures

Repetition

9th July 2020

info License: CC-BY
flag Report Problem

Published by

Simon Thommes

You can download the file from this video here: 2-3_Repetition.blend

36 Comments

Join to comment publicly.

Sean Kennedy

22nd July 2020 - 08:58

Wow, this chapter was intense for a procedural noob like me. Like watching magic!

Simon Thommes

22nd July 2020 - 11:43

*@Sean Kennedy* I did cram a lot of information into quite short time in these videos to make it easy for people to come back and look up specific things. The workflow examples should help to understand the concepts and make the connections, being more slowly paced and in-depth :)

victor p

15th September 2020 - 08:23

*@Simon Thommes* Is it ok to skip right to the workflow examples and then comeback to these chapters for a clearer concept? Or do i have to go through these chapters first?

Simon Thommes

15th September 2020 - 13:25

*@victor p* Totally! I made the workflow examples to go along with the course and get progessively more advanced. If you feel like that is a better way for you to understand everything, you can start with the first workflow examples an then go back to the explanation videos.

But the workflow examples get more advanced quite quickly. I made a note for each one what level of the main course they are meant for, so keep that in mind.

victor p

16th September 2020 - 06:26

Okk thank you Simon

cjdelaguardia

20th July 2020 - 20:38

very exciting stuff cant wait to see what animations i can get

Himanshu Das

26th July 2020 - 12:17

This is totally 🔥🔥🔥 and deep.

Andreas Friedel

6th August 2020 - 10:44

That’s what snap is for, learned something new.

Jonathan Walsh

30th September 2020 - 14:56

Going to the workflows as discussed with victor p sounds like the way forward for me, the information is truly amazing, but I need the hands on context (I'm 18 months in on Blender).

jamesrossbond

28th October 2020 - 17:23

This course is amazing <3

Leslie Solorzano

1st November 2020 - 14:39

This is fantastic! I had always wanted to know how to do this. But I got scared at how complex the nodes become. I am more used to programming directly and not seeing nodes. I am always cared that it's going to take a very long time

Marc Hopkins

20th April 2021 - 15:31

very good info as usual. The programmer side of me keeps wanting to visualize the mathematical formulas being generated. 👨‍💻

Stylianos Andreolas

25th February 2022 - 18:37

This is insane. Trully magic.

Vítor

28th July 2020 - 23:52

Are the blend files available? Wish I could download that instead of the mp4.

Simon Thommes

29th July 2020 - 11:51

*@Vítor* I added the file for download in the description

Vítor

29th July 2020 - 12:41

*@Simon Thommes* Sorry, that was stupid from my part. Thanks for the reply.

Simon Thommes

29th July 2020 - 13:04

*@Vítor* No it wasn't! I added it only after you commented, because I forgot about it before. Thank you for reminding me :D

Vítor

29th July 2020 - 23:53

*@Simon Thommes* Oh, l was feeling so stupid, lol. Glad I could help in my own simple way. This course is sooooo interesting but sometimes there is a lot of information to absorb. Having the actual scene files will help. Again, thanks for the reply.

Michael Schwarz

30th August 2020 - 09:12

It always took me 2-3 hours until I've really understood what is explained here in 5-minutes. But as soon as you've understood the concept behind each step its even a kind of fun. Nevertheless I've a question: where does the colors come from at 3:44? How are the numbers interpreted as colors? I've understood the principles of the luminosity value (at least I think I did) but I cannot comprehend where the red, green,yellow and black tones come from.

Simon Thommes

31st August 2020 - 10:42

*@Michael Schwarz* The red, green and blue channels of the color represent the x, y and z components of the vector map that is displayed. Negative values cannot be displayed and result in black and when both x and y component are positive, that results in yellow because it mixes red + green.

If that concept is still difficult for you, you can go back to the chapter 1-1 about colors, values and vectors, or simply connect a 'Combine XYZ' node to the viewer node and observe what happens when you change the values around.

It takes some getting used to the colors until you can read a color map and understand the vector map that it represents. I hope this helps.

Michael Schwarz

31st August 2020 - 11:49

*@Simon Thommes* I think I've got it. x = red y = green z = blue zero and negative black. Thanks for hint. And of course I should have known it ;)

Tighe Racicot

17th February 2021 - 10:38

@Michael Schwarz I'll chime in here because the concept of a vector map has confused me for a while. I just started to understand it through this course. Maybe this will help others. A vector is a list of 3 values, like Simon said. In this case, X, Y, and Z. The plan is 2D, so it's like a spreadsheet of values, with rows and columns, each "cell" containing a vector. So one cell would have [0,0,0], another cell might have [1,1,1]. The range of these values depends on the properties of the "spreadsheet" (coordinate map). Some maps will have vectors with values -1 to 1, others with values 0-1. In the case of our 2D spreadsheet, each cell's vector's z component is always 0.

But with a third dimension, it's like stacking spreadsheets on spreadsheets, the z component's value varying depending on what position that spreadsheet is in in the stack.

The node tree takes every single cell in every single spreadsheet and operates on the vector in that cell, and in the case of colors, the output of the node tree determines the output color. The mix of X Y and Z values (only X = red, and Y=green values though since this is 2D) determines the resulting color for that cell. If you were to apply this to a 3D object, you'd see an even greater range of colors because now you have a Z (blue) component mixing with all the other red and green components.

Simon Thommes

17th February 2021 - 12:01

@Tighe Racicot Yea, that's a good way of thinking about it! Only that the size of the spreadsheet/ the number of cells is dynamic and dependent on pixels and ray intersections.

victor p

16th September 2020 - 07:52

Simon, what is the node between combine xyz and math node in this example? It labeled Length but i can find it on the search bar.

Simon Thommes

16th September 2020 - 11:55

*@victor p* It is the 'Vector Math', set to the 'Length' operation. It simply gives you the value of the length of a vector, which is, in terms of coordinate vectors, the distance to the center.

Arealiouscg

28th October 2020 - 03:22

This is why I hate math lol

[deleted]

17th February 2021 - 10:54

[deleted]

Simon Thommes

17th February 2021 - 12:02

@Tighe Racicot It sounds like you are using the regular math node instead of the vector math node. That one interprets the input as a simple value and so you simply get a repetition along the x=y axis

Tighe Racicot

17th February 2021 - 20:31

@Simon Thommes Thanks, yes, that was it. In 2.92 the vector math nodes are a different color, and the regular math nodes are blue like in the video (you’re using 2.83 in the video). The “vector” label on the input and output clued me in that it was vector math, since the math node’s in/out labels are “Value”.

Simon Thommes

18th February 2021 - 19:31

@Tighe Racicot Ah right, yes!

Chien

28th February 2021 - 10:46

hi, what should I do to make the graphics appear randomly in the included positions

Simon Thommes

1st March 2021 - 11:09

@Chien Hey, I'm not sure that I understand your question correctly but maybe this helps: After dividing the coordinates into cells you can do anything randomly to the parameters that are generating the shapes inside them. If you want to shift their positions, you can add a random vector to the coordinates they are using. However, you inherently can't go beyond the limits of the cells to make the shapes overall, due to the logic of how this works (I go a bit more into the logic in chapter 2-5). If you want overlapping shapes you can do this method multiple times in parallel, offset the different grids and then blend the result. But even just shifting the textures within a cell can be quite useful (I'm showing this later in chapter 4-3).

Chien

8th March 2021 - 07:37

@西蒙·汤姆斯 Thank you very much for your answer, it made me understand more fully

andreas aditya halim

16th December 2021 - 11:15

really hard to grasp

Victor D

15th February 2022 - 18:57

I have the feeling that this chapter is in the wrong order? It should go after the Shape Control one.

Simon Thommes

16th February 2022 - 14:21

@Victor D Yes, you're totally right, I changed the order. Thanks for pointing that out!

Blender Studio

The Creators Who Share.

Facebook Logo Twitter Logo YouTube Logo
  • Films
  • Blog
  • Training
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
Loading...