Blender Studio
  • Films
  • Projects
  • Training
  • Characters
  • Tools
  • Blog
  • 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.

Training Highlights
Stylized Rendering with Brushstrokes
Geometry Nodes from Scratch
Procedural Shading Fundamentals
Stylized Character Workflow

Training types
Course Documentation Production Lesson Workshop

Training categories
Animation Geometry Nodes Lighting Rendering Rigging Shading
Film Highlights
Wing It!
2023
Charge
2022
Sprite Fright
2021
Spring
2019
Project Highlights
Project DogWalk
Interactive
Gold
Showcase
BCON24 Identity
Showcase
Fighting with Grease Pencil
Article
Course
Procedural Shading: Fundamentals and Beyond
Introduction
  1. 01

    Introduction

    Free
  2. 02

    Definition

  3. 03

    Content Overview

  4. 04

    The Shader Editor

1: Fundamentals
  1. 01

    Colors, Values & Vectors

  2. 02

    Vectors and Pixels

  3. 03

    Coordinate Types

  4. 04

    Value Control

2: Procedural Textures
  1. 01

    Noise Textures

  2. 02

    Shape Control

  3. 03

    Repetition

  4. 04

    Texture Composition

  5. 05

    Space Manipulation

3: Shading Principles
  1. 01

    PBR

  2. 02

    Geometric Dependency - Context Sensitivity

  3. 03

    Generating PBR Maps

4: Shader Composition
  1. 01

    Blending & Masking

  2. 02

    Randomization

  3. 03

    Semi-Procedural Workflow

  4. 04

    Volumetric Shaders

5: Modular Setup
  1. 01

    Parametrization

  2. 02

    Nodegroups

6: Automation
  1. 01

    Drivers

  2. 02

    Animation

Workflow Examples
  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
  1. Example Scene
  2. Example Scene - Simplified Free
  3. Visualization (Chapter 1-4): Value Graph
  4. Visualization (Chapter 2-5): Space Origami
  5. Example Shader (Chapter 3-1): Rock
  6. Example Shader (Chapter 4-1): Dilapidated Cube Scene
  7. Example Shader (Chapter 4-3): Image Texture De-Tiling
  8. Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards
  9. Example Shader (Chapter 4-4): Procedural Volumetric Clouds

Login to view this content

Join Blender Studio for just €11.50/month and get instant access to all of our training and film assets!

Login Join Blender Studio
Simon Thommes
Simon Thommes Author
License CC-BY
Report Problem
2: Procedural Textures

Repetition

You can download the file from this video here:

Blender File · 641.4 KB · CC-BY 2-3_Repetition.blend
Download File

Join to leave a comment.

37 comments
Pierre Schiller
Pierre Schiller
June 6th, 2024

Thank you so much. This clarifies a lot of questions I previously had.

Stylianos Andreolas
Stylianos Andreolas
Feb. 25th, 2022

This is insane. Trully magic.

Victor D
Victor D
Feb. 15th, 2022

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

Simon Thommes
Simon Thommes
Feb. 16th, 2022

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

andreas aditya halim
andreas aditya halim
Dec. 16th, 2021

really hard to grasp

Marc Hopkins
Marc Hopkins
April 20th, 2021

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

Chien
Chien
Feb. 28th, 2021

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

Simon Thommes
Simon Thommes
March 1st, 2021

@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
Chien
March 8th, 2021

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

[deleted]
[deleted]
Feb. 17th, 2021
[deleted]
Simon Thommes
Simon Thommes
Feb. 17th, 2021

@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
Tighe Racicot
Feb. 17th, 2021

@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
Simon Thommes
Feb. 18th, 2021

@Tighe Racicot Ah right, yes!

Leslie Solorzano
Leslie Solorzano
Nov. 1st, 2020

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

jamesrossbond
jamesrossbond
Oct. 28th, 2020

This course is amazing <3

Arealiouscg
Arealiouscg
Oct. 28th, 2020

This is why I hate math lol

Jonathan Walsh
Jonathan Walsh
Sept. 30th, 2020

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

victor p
victor p
Sept. 16th, 2020

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
Simon Thommes
Sept. 16th, 2020

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

Michael Schwarz
Michael Schwarz
Aug. 30th, 2020

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
Simon Thommes
Aug. 31st, 2020

*@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
Michael Schwarz
Aug. 31st, 2020

*@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
Tighe Racicot
Feb. 17th, 2021

@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
Simon Thommes
Feb. 17th, 2021

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

Andreas Friedel
Andreas Friedel
Aug. 6th, 2020

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

Vítor
Vítor
July 28th, 2020

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

Simon Thommes
Simon Thommes
July 29th, 2020

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

Vítor
Vítor
July 29th, 2020

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

Simon Thommes
Simon Thommes
July 29th, 2020

*@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
Vítor
July 29th, 2020

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

Himanshu Das
Himanshu Das
July 26th, 2020

This is totally 🔥🔥🔥 and deep.

Sean Kennedy
Sean Kennedy
July 22nd, 2020

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

Simon Thommes
Simon Thommes
July 22nd, 2020

*@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
victor p
Sept. 15th, 2020

*@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
Simon Thommes
Sept. 15th, 2020

*@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
victor p
Sept. 16th, 2020

Okk thank you Simon

cjdelaguardia
cjdelaguardia
July 20th, 2020

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

Films Projects Training Blog Blender Studio for Teams
Pipeline and Tools
  • CloudRig
  • Blender Kitsu
  • Brushstroke Tools Add-on
  • Blender Studio Extensions
Characters
  • Mikassa
  • Whale
  • Ballan Wrasse
  • Snow
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
Blender Studio

The creators who share.

Artistic freedom starts with Blender The Free and Open Source 3D Creation Suite