8 min read

Why Your Timber Renders Look Like Plastic Planks

Timber renders fail for three reasons, and "not enough detail" isn't one of them. The grain runs the same way on every member, including the ones where it physically can't. The cut faces — joist ends, column tops, panel reveals at openings — show long grain where there should be end grain. And every piece of wood in the building is the exact same colour, which is the one thing that has never been true of timber in the history of trees.

Fix those three and your mass timber starts reading as a material rather than a texture-mapped box. Everything else — the sheen, the lighting, the grade — is refinement on top. But there's a step before all three, and it's the one that quietly ruins the other fixes if you skip it.

Free Lesson

Interior Masterclass

Watch free

Free Lesson

Interior Masterclass

1:20:57 · a free lesson from the same area of ArchAdemia

Watch free

Prove the scale before you touch anything else

A downloaded wood texture is a photograph of a specific physical thing at a specific physical size. If you map a 400mm-wide board image onto a wall of 180mm boards, every board in your render is carrying two and a bit boards' worth of grain, and the eye clocks it instantly without knowing why. That's the tell. It's not the resolution, it's not the roughness — the grain is simply too big or too small for the member it's sitting on.

So find out what size the texture actually is. In our Enscape course we pull scans down through Quixel Bridge, and Bridge shows the physical dimensions of the asset on the page — the concrete we use in that lesson reads as two metres by two metres, so we know exactly what to type into the material's size fields. Poliigon, the other source we use on that course, publishes dimensions on most of its textures too. If your source doesn't tell you, measure a feature you recognise. Count the boards in the image, decide what width they'd be in reality, and do the arithmetic.

Then set the material size in Enscape to match, in metres, rather than nudging a tiling slider until it looks vaguely right. Vaguely right is how you end up with a 215mm brick on a 350mm wall and a render that feels like a model of a building rather than a building.

Grain has a direction, and yours doesn't

In a real timber frame, the grain runs along the member. Posts have vertical grain. Beams and joists have horizontal grain. Cladding runs whichever way it was fixed, and on most contemporary projects it changes direction at least once across an elevation. In your model, one material is doing all of it, and because a texture maps in a single orientation, half your structure has grain running across its length.

The fix is boring and takes ten minutes. Duplicate your timber material, rotate the texture ninety degrees, and apply the rotated version to every member running the other way.

Where you do the rotating depends on your host. In SketchUp it's the texture itself — right-click the face, Texture, Position, and rotate the pin, then make that face's material unique so the rotation sticks as its own material. In Revit you go into the appearance asset, open the image editor on the base colour map, and there's a rotation field sitting right there under the scale fields. Either way you end up with two materials — call them Timber Vertical and Timber Horizontal — and you apply them by orientation, not by element type.

Do this and look at a corner where a post meets a beam. That junction is where a render either becomes architecture or stays wallpaper.

Every cut face should be end grain, and almost none of yours are

This is the one that separates renders made by someone who's been on a timber site from renders made by someone who hasn't. Cut timber shows end grain: rings, pores, a completely different pattern and usually a slightly lighter, chalkier value than the faces. Glulam column tops. Exposed joist ends at a balcony. Rafter tails. The reveal where a CLT panel is cut for a window. The edge of a stair tread.

None of those should carry your long-grain texture, and in a default export every single one of them does.

Build a second material — Timber End Grain — from an end-grain scan, sized to the actual section. A 240mm deep joist end wants a texture sized so the rings read at 240mm, not a 2-metre tile squashed onto a small face. Then paint the cut faces with it. In SketchUp that's the paint bucket on individual faces. In Revit the Paint tool does the same job on a face of a system family without touching the type. It is genuinely tedious on a long run of exposed joists, but you only need to do it on the faces the camera can see, and the camera can usually see about six of them.

Close-up render comparison of an exposed glulam beam end, one showing long grain wrapped round the cut face and one showing correct end grain rings

CLT has a tell, and it lives on the edge

Here's the bit the general rendering literature never gets to. A CLT panel is layers of boards glued crosswise, which means the exposed edge of a panel is not a flat piece of timber. It's a stripe: alternating bands of long grain and end grain, one band per lamella, and the band widths are the lay-up.

So a five-ply panel might be 40-20-40-20-40, and the edge reads as a 40mm face-grain stripe, a 20mm end-grain stripe, a 40mm stripe, and so on. Model that edge as its own thin faces if the panel is big in frame, or build a single edge texture that stripes correctly at the right scale and map it along the reveal. At a window head or a panel-to-panel joint in a stairwell, that stripe is the single most recognisable visual signature mass timber has. Leave it off and your CLT is just a thick plywood wall.

While you're there: visual-grade panels usually show finger joints in the outer lamellas — those little zig-zag interlocks where short board lengths have been joined end to end. Look at any photograph of an exposed CLT soffit and you'll see them scattered across the face at irregular intervals. If your soffit texture is a clean continuous board run with no joints in it, that's a second tell, and a decal or two placed where the eye lands is enough to kill it.

If you want accuracy rather than approximation, the big panel manufacturers publish visual-grade surface specifications and panel build-ups in their technical literature — worth five minutes with the actual supplier's documentation for the project you're rendering, because lay-ups vary and so do their surface grades.

One wood colour is a lie

Timber varies board to board. Different boards from different logs, different heartwood-sapwood proportions, different ages of exposure. Even on a freshly erected frame, the colour spread across an elevation is noticeable, and on anything weathering it's dramatic.

Your render has one colour because you applied one material.

Duplicate it three or four times. In the Enscape material editor there's an albedo colour swatch that tints the texture — nudge each copy slightly: one a touch darker, one with a little less saturation, one fractionally warmer. Small moves. If you can see which variant is which at a glance in the editor, you've gone too far. Then apply them around the model more or less at random, avoiding any pattern that reads as deliberate.

Side by side timber slatted facade renders, one with a single uniform wood material and one with four subtly different colour variants applied randomly

On cladding, break the board lengths too. A facade where every board runs the full elevation with no joints is a facade nobody built. Stagger a few vertical joints and the repetition dies with them.

The plastic sheen is a roughness problem, and it isn't a single number

In my experience, almost every wood material that arrives in a render from a default library — Revit, SketchUp, Rhino, the stock Enscape presets — has more gloss on it than real timber ever does, and that uniform shine across a whole elevation is what makes it read as moulded plastic.

Two things fix it. First, decide what the finish actually is. An oiled or raw sawn surface is matte, and matte means high roughness and almost no reflection. A lacquered or clear-coated interior panel is a different animal: the wood underneath is still matte, but there's a thin glossy coat over it, and that coat reflects the room rather than tinting it brown. Those are different materials, not one material with the slider in the middle.

Second, and this is the bit that matters: stop using a flat roughness value. Real timber is rougher in the open grain and smoother on the dense bands, which is why grain catches light at a raking angle. Load the roughness map that came with your texture into the reflectivity slot in the Enscape material editor rather than typing a number. When we export from Quixel Bridge on the course we set the target to a custom disc location precisely so the full map set lands in a folder we control — roughness, normal, displacement — and from our experience Poliigon downloads generally include the same set. If a texture arrives as a single JPEG with no maps, it isn't a material, it's a picture of one.

Add the normal map while you're there. Grain with no micro-relief catches no light.

Light it across the grain, and don't try to rescue it in post

Grain only reads when light rakes across it. A sun at sixty degrees beating straight down onto a facade flattens every bit of relief you just built, and timber is more punished by that than almost any other material — it's a surface whose entire character is low-relief texture. Drop the sun angle, put it off to one side, and let it skim.

For interiors, an HDRI with genuine directional content does more for an exposed CLT soffit than any amount of fiddling with material sliders. We use Poly Haven for HDRIs on the Enscape course for exactly this reason. If your render is still reading flat after all of the above, the problem has moved on from materials and the lighting diagnosis in our piece on flat Enscape renders will get you further than another roughness tweak.

Post-production can't fix plastic. It can do two useful things for timber specifically. Pull some saturation out of the orange channel — raw CGI timber trends towards a cartoon pine that no real building has, and a few points off the oranges alone calms it down without touching the rest of the image. And a very light grain overlay across the whole frame unifies the render, because a photograph has sensor noise and a render doesn't, and the absence of it is one of the quiet reasons CGI looks like CGI.

That's the order. Scale, direction, end grain, variation, roughness, light. If you only have an hour, do the first three — they cost nothing but attention, and they're the difference between a timber building and a brown one.

Written by

Jack Johnson

Architectural Director, ArchAdemia

About the team

Free Lesson

Interior Masterclass

From the same corner of ArchAdemia: watch "Interior Masterclass" free, no account needed.

New guides by email. Course releases, free templates and guides, and software tips worth stealing. One click to unsubscribe.