This is the first of a series of example materials. The focus here will be on the material rather than the individual nodes used to produce it. This first material produces eroded rock or concrete using the displacement channel combined with a few maths nodes.

Fig 1: Eroded Rock

Fig 2: Eroded Rock Settings

So, what's going on here? Our starting point is a fBm node, although most of the 3D nodes would do as well (Turbulance, Fractal Sum or Cloud nodes also work). This node produces a output somewhere between 0 and 1. If we plug this into our displacement node, then we'll get a nice rugged surface, but thats not what we want here.

To get our flat surface, we need to discard some of the infomation provided by the fBm node, and we are going to use the clamp maths function to achieve this. Clamp takes the value of input 1, and eliminates any value under 0 or over 1. If we plug our fBm node straight into the clamp node, then you will see no change - our input is already between 0 and 1. We will need to alter our input first.

  1. Create your maths node.
  2. Set the Math_Argument to Clamp
  3. Plug the output of the fBm node to the input of Value_1 on the Clamp node.
  4. Change Value_1 to 2
This arrangement will result in our flat surface with rugged cut outs. Changing Value_1 to 2 multiplies our fBm node by two, producing an input of 0 to 2. The top half of this range will be cut off at 1.

If you plug this into the displacement node, you will get close to the final result. However, any sharp corners will fly apart as a result of the displacement, so finally we plug the output from our clamp into a final maths node, set to subtract, and subtract one from the output of the clamp. This leaves us with an output of -1 to 0; with roughly half of the output on 0. Plug this into your displacement node, and you will get our final material.