This is cool! The cracks look a bit weird in the first render, I think they are too ‘strong’. (The cracks in the second render are better).
I would appreciate it very much you made a breakdown of how it works/share screenshots of the nodes!
The material (color, roughness…)appears to have been carefully adjusted. It looks good with the lighting. You have many skill to generate pattern. I know how to generate annual ring pattern, but I don’t know how to produce such a crack pointing to the center on yours.
Your (ring and yellow color) pattern appear to be independent of each other in direction. They should co-varing.
I know it is very hard to produce correct co-varing patterns on the wood surface. (I don’t have ability to produce correct pattern, either)
Thank you so much for taking the time to look at this carefully, honestly, this is exactly the kind of feedback I was hoping for!
You’re absolutely right about the co-variation issue. I hadn’t thought about it that way, but now I can’t unsee it The color variation and the rings are running off separate coordinates, and yes, that’s why they drift apart.
I’d love to hear how you’d approach fixing it, or anyone else reading this! This is what I love about this community
Thank you! You’re right about the cracks, I’ve been tweaking the intensity and the second render is definitely closer to what I had in mind.
As for the breakdown… I’m still figuring out if and how to share it! It took quite a while to get here Let me know if there’d be real interest and I’ll think about it!
I have tried making a similar wood material (with age rings) but I don’t know how to make them. Is it a 3-dimensional texture/noise or something that generates it?
I only have one very limited method. The key is to convert vector → (x, y, z) into a distorted version (distor_x, distor_y, distor_z), and then you can use this distorted coordinate to generate tree rings and noise at the same time, so that tree rings and noise will covariate.
Yes, fully procedural and 3D, the rings are generated with a Wave Texture in Object coordinates, that’s the core trick. The real challenge is what you layer on top of that to make it feel natural rather than perfectly mathematical
This is exactly what I needed to understand, thank you so much for taking the time to share this!
The idea of distorting the coordinate once and then feeding it to both the rings and the noise at the same time is really elegant. I was driving them separately and that’s exactly why they were drifting apart.
I see people have already pointed out the cracks in the wood. I’d say that they seem a bit too dark. Also if you look at cracks in real timber you will see that it aligns almost perfectly with the wood grain expect when it hits the knots in the wood:
Another thing in your setup that is noticeable for me is that the main rings texture seems a bit disconnected from the overall material. It seems like it is floating above the overall wood surface, so somehow allowing it to blend a bit more into the overall wood texture somehow would be nice.
For being procedural it looks amazing. I think it’s almost perfect, except the cracks on the short side, They have a more jagged or straighter look in reality, not as smoothly curved, And they should fade out towards the center, or at least some of them.
I tried wood myself, it’s tricky. Maybe this picture helps you.
Wow, thank you so much for such a thoughtful and detailed breakdown — I really appreciate you taking the time!
You’re right on all counts. The darkness of the cracks, their alignment with the grain (and how knots should interrupt that), the back-and-forth switching, more small cracks scattered around… it’s clear you’ve studied real timber very closely, and it shows.
And thank you for sharing your own test too, that’s incredibly generous. The finished-furniture feel you’re going for looks lovely, and it’s really helpful to see a different direction with the same underlying problem.
The point about the rings feeling like they’re ‘floating’ above the surface instead of blending in is a great catch too, I hadn’t quite put my finger on why something felt slightly off, and that might be exactly it.
This kind of feedback is exactly why I wanted to open this up for discussion. Really grateful, cheers!
Thank you so much, and you’re spot on about the cracks on the end grain, they’re currently too smoothly curved, when in reality they’d be more jagged/straighter, and fading out toward the center makes a lot of sense too. I hadn’t thought about the fade, that’s a really nice detail to chase.
Wood is definitely tricky business
It’s really nice job. The knots are nice, I feel like they could be tweaked a bit more though, I think they tend to have more impact on the distortion around them quite often, but it obviously depends on the wood so it’s quite plausible now as well. And of course the colors of the wood itself are really really tricky to get right, I think lowering the contrast could produce nicer results.
Wood is really tricky, so it’s an awesome result. I would consider adding more types of noises. But I know how difficult the subtle patterns in all sorts of frequencies are to attempt to replicate and they are really hard to identify and predict. Wood is weird that way…
Doesn’t look like much until you try to make it, then it turns out it’s really complicated, right?..
Overall I think what you’re doing looks pretty nice.
However, my first question to anyone working on procedural wood:
What KIND of wood is it? Different types of wood have different characteristics. If you truly want realistic wood you should model a specific type. Go to a hardware store or lumber yard and pick up some samples, or just take photos of wood. Also there’s tons of reference online as well.
Just as you wouldn’t make a generic “metal” shader, don’t reduce the beauty and diversity of wood!
Anyway it’s been quite a few years since I worked on procedural wood but I had the best results trying to mimic the real structure of wood.
Looking at your wood grain, I think you’ve done a beautiful job with the overall color (and the variations from year to year?) and the size and shape of the fibers.
Indeed, it’s helpful to refer to wood species for a more realistic result (compared to many YouTube tutorials that use noise to create annual rings, which is only approximate).
I also watched the oak section of your tutorial link. I learned something, but the rays I cannot make them into segments.
(I’m pretty good at distorting coordinates to create warping and knots, but texture and color matching is very difficult for me, unlike you who can achieve it with just a few nodes… I’m not sure if this is real if I want to simulate more variations in the wood.)
I used Open Shading Language to distort the knots, because it was too complex. Writing it directly with a programming language is cleaner; combining shader nodes is too crazy (that’s how I used to do it).
P.S. I think I made the same mistake you did before: the growth rings become thinner towards the outer.
I just want to say I really love this community. You’ve all given me so much to think about, plenty of food for thought and a good list of errors to go back and fix. That’s exactly why I shared this here, and you didn’t disappoint.
Just to clarify where I’m coming from: mine was always meant to be a generic starting point for a solid-wood shader a base cedar, nothing hyper-specific yet. The idea is to nail a believable, fully procedural solid wood first, then push it toward the real references from there.
Thanks again for all the feedback, keep it coming!