Procedural Materials in Blender: Wood, Metal and Glass With Nodes Only

Diego Cortés

Diego Cortés

Author

01 August, 2026

Procedural materials in Blender let you create wood, metal and glass without downloading a single texture: everything comes from nodes, with infinite resolution and full control. In this tutorial you build three complete PBR materials with Noise Texture and Principled BSDF, ready for Cycles and EEVEE.

Why Procedural Materials (and What Changed in Blender 4.1)

A procedural material does not depend on external images: every pixel is calculated with real-time math. That means infinite resolution (you can zoom from one meter to one kilometer and the detail holds), minimal file size, and the ability to animate any parameter. It is the preferred option for lookdev when you need quick variants of the same material.

Musgrave to Noise Texture: adapting old tutorials

If you follow tutorials from a few years ago, you will see a node called Musgrave Texture that no longer exists: Blender 4.1 removed it and integrated all its functionality into the Noise Texture. To migrate an old setup, replace Musgrave with Noise Texture, subtract 1 from the Detail value, and use the Roughness input instead of Dimension (the approximate relationship is Roughness = Lacunarity to the power of -Dimension). With that change, almost any old procedural material works again.

Procedural Wood, Step by Step

Wood is the most rewarding procedural material to start with: its grain structure comes from stretching a noise and coloring it. The complete setup fits in five nodes.

The grain: Noise Texture stretched with the Mapping node

The secret of the grain is non-uniform scale. Add a Mapping node and connect it to the vector of the Noise Texture with values like X=0.1 and Y=10: the noise stretches horizontally and produces the elongated lines typical of wood grain. Connect the noise output to a ColorRamp input to control the contrast of the grain.

ColorRamp with wood tones

Define the palette in the ColorRamp: a light brown on one end and a dark brown on the other, with one or two intermediate stops for transitions. Connect the ColorRamp output to the Base Color of the Principled BSDF. To keep the wood from looking like plastic, raise Roughness to 0.4-0.6 for unfinished wood, or lower it to 0.2 for a polished finish.

Grain variation with a second noise

A single noise produces wood that is too regular. Add a second Noise Texture with a different scale and mix it with the first using a Mix node, or add it to the color. You can also connect it to roughness so some areas absorb more light, like real wood with pores. The result is grain that forks and varies instead of perfect parallel lines.

Procedural Metal: From Shine to Wear

Clean metal in Blender comes down to two parameters: Metallic at 1.0 and low Roughness. The interesting part starts when you add wear, because that is where the material stops looking like a mirror ball.

Metallic base: Metallic 1.0 and low Roughness

In the Principled BSDF, raise Metallic to 1.0. Roughness depends on the finish: 0.1-0.2 for polished steel, 0.3-0.5 for brushed or slightly worn metal. Work with good lighting (an HDRI helps a lot) and set the base color to the specific metal: silver-white for steel, golden tones for brass.

Scratches and grunge: Noise Texture connected to Roughness

Real wear is never uniform. Connect a Noise Texture to roughness through a ColorRamp: where the noise is high, roughness rises and the metal looks matte and scratched; where it is low, the specular highlight stays. For more controlled grunge, use a Map Range to limit the effect so the material keeps its metallic identity.

Anisotropy for brushed metals

Brushed metals reflect light directionally, like the stainless steel of appliances. Principled BSDF includes an Anisotropic input: raise the value to 0.5-1 and adjust Anisotropic Rotation to align the brushing with the geometry. It is a detail that adds a lot of credibility to product renders.

Glass with Principled BSDF

Glass is where Principled BSDF shines: a single node replaces the old setups with Glass BSDF and transparency mixes.

Transmission 1.0, IOR 1.45 and near-zero Roughness

For clean glass, raise Transmission to 1.0 and keep IOR at its default value, 1.45, which corresponds to common glass (water is around 1.33). Roughness should stay very low: 0.01-0.05 for polished glass. The base color controls the tint: pure white for transparent glass, a very subtle blue-green tone for glass with impurities.

Tinted glass and caustics in Cycles (and what to expect in EEVEE)

For tinted glass, darken the Base Color slightly and keep Transmission high: the color applies to both transmission and reflections. In Cycles you can enable refractive caustics so the glass projects sharp patterns onto nearby surfaces. In EEVEE the results are approximate: you get refraction, but no real caustics; if the project demands them, render that part in Cycles.

Reusing the Materials: Node Groups and the Asset Library

None of these materials should be built twice. Turn each setup into a Node Group and save it as an asset so it is one click away in any project.

Turning the setup into a Node Group and saving it as an asset

Select all the nodes of the material, press Ctrl+G to group them, and name the group (for example "Wood Procedural"). The group only exposes the sockets you wire to the outside: base color, roughness or any parameter you want to tweak per material. To save it, mark the group as an asset from the Asset menu in the node editor and store it in an asset library of your configuration; from then on you drag it into any new material.

Conclusion

Procedural materials in Blender cover everything from the simplest wood to product glass: Noise Texture, ColorRamp and Principled BSDF are enough for all three cases, and node groups turn them into a reusable library. Start with the wood, add wear to the metal, and finish with the glass; in an afternoon you will have a production-ready material kit. If you prefer to see it in action, the video tutorials on CGI Academy Hub build these materials step by step with exact values.