SF Wood — seven procedural woods, free

Built on one idea: it should be procedural all the way down. Wood as math, with every decision left somewhere you can reach it.

Seven woods — walnut, oak, cherry, pine, ebony, varnished, weathered grey. Not seven materials. One node group with different numbers in it.

17 inputs. Rings, pith position, knots, grain contrast. Exposed, not buried in a node where you can’t get at them. Most packs hand you somebody’s finished decision, and if it isn’t the board you wanted, tough.

The grain is a volume, not a wrap. Built around a log axis instead of projected onto the surface. Cut faces give you end grain on their own. It survives a bevel. It survives a boolean.

  • Procedural. No textures, no scans.
  • 1.8 MB
  • EEVEE and Cycles
  • Built in Blender 5.2
  • Free, for whatever you make with it

If you build node groups: adding a socket sets it to zero on every material already using that group, not the default you typed. It wrecked the walnut and cost me an evening hunting for a math error that wasn’t there.

2 Likes

This is a really useful approach. I especially like that you turned the hardcoded values into actual inputs instead of just providing seven finished materials. That makes the generator much more useful for different projects.

The note about new node-group sockets resetting existing materials is also really helpful. That’s exactly the kind of easy-to-miss behavior that can make you think you’ve broken the procedural setup when the actual problem is just the socket values being reset.

The volume-based grain is probably my favorite part, too. Having the end grain appear naturally on cut faces and still hold up after bevels or booleans makes this much more practical than a simple surface texture.

Thanks for making it free and for explaining the limitations up front. I’ll definitely give this a try.

2 Likes