How can I proceduraly create the dark lines as seen in white birch (paper birch) bark?

white birch bark piece

This is the exact type of effect I'm trying to replicate. Random sized "lines" in the bark, yet they all run the same direction.

You can see in this picture, that this variation of birch has a slightly different bark pattern. Here the lines are much longer. (At this point I don't care about the random dark blobs, they are mostly knot holes, but if somebody wants to include that too... :)

birch trees


3 Answers 3


Making a birch shader completely procedurally is quite a challenge, this is my version: procedural birch shader (download blend file below)

Like the other two answers already say: you achieve these effects with stretched noise textures, color ramps and mix nodes. It takes quite a bit of time and experimenting to figure out which noise looks best for the specific surface. I mainly used the standard noise and musgrave noise.

Unfortunately I can't walk you through the whole shader, but here are some steps that helped me:

  • research the node wrangler add-on to prevent headaches

  • work from large-scale noise to small-scale noise. Here I created the big random blotches first, after that the horizontal lines and at the end the tiny black spots. That helps keeping the proportions right. It needs to look right from distance first, keep the details for later.

  • look at your noise textures isolated. With the node wrangler add-on activated, you can Ctrl+Shift+ leftclick a node and a viewer gets created.

  • stay between values of 0 and 1. When you start to mix the different noise textures for more complex noise, always look at the isolated result and make sure that the values don't go negative or exceed one. Your shader won't break when you have values below 0 and over 1, but it makes it much harder to work with, because these values can't be displayed.

  • group components to keep your overview... but: don't group them too early. Isolating nodes doesn't work in groups and this makes it really hard to "debug" node-groups, when you want to find one specific pattern.

Here are the horizontal lines I used: enter image description here

  1. create noise texture
  2. scale on z axis by mapping coordinates (i used 4, 4, 40 in scale)
  3. a high contrast color ramp for sharp edges
  4. i used only the R channel of the noise

The result of that color ramp could then be used to

  • mix between shaders (as a factor in mix shader node)
  • create a mask, e.g. for colors or shader properties like roughness
  • be mixed with other noise patterns to create more complex and interesting noise
  • ...

Here is the file:


Here's what I could come up with.

enter image description here

It mostly relies on using a Voronoi texture squashed in Z axis, and a Color Ramp node to control the "spot radius" for the smaller spots.

For the bigger branch dark spots or nodes, again the same setup of Voronoi texture with a Color Ramp node to control the blotch size, the only addition is mixing texture coordinates with a noise texture to make them more distorted and irregular looking. Have in mind I didn't bother recreating those "inverted V streaks" visible around the branch nodes in the second image, those don't seem trivial to achieve without some sort of image based texture.

Here is the corresponding node setup

enter image description here

You can adjust the spot amount/density with the Scale value of theVoronoi textues, the "squashiness" by varying the Z scale value under the Vector Mapping nodes, and the size by sliding the control points on the Color Ramp nodes.


I came up with this but if I were to go this route I would use this setup as a mask and create the other two textures independently.

sample material render view

node setup for material


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .