Concrete is the foundational building block of modern architectural visualization, brutalist environments, and urban game levels. Yet, many 3D artists treat concrete as an easy, monolithic surface. They grab a generic photoscanned grey texture, tile it across a 50-metre facade, and end up with an unconvincing, blurry wall that looks like painted drywall. An authentic textured concrete surface is anything but flat. Whether it is rough board-formed concrete retaining wood grain imprints, exposed aggregate showing fractured stone pebbles, or bush-hammered industrial retaining walls, photorealistic concrete relies on multi-scale relief, cavitation pits, and moisture-absorbing porosity.
Architectural textured concrete derives tactile credibility from the interaction between timber formwork imprints, exposed mineral aggregates, and microscopic cement paste porosity.
Real concrete is a composite material made of Portland cement, fine sand, coarse gravel aggregates, and water, poured into wooden or steel molds. The physical molds leave indelible textural imprints: timber grain ridges, formwork tie-rod holes, seam seepage lines, and entrapped air voids known as bug holes. Below is the complete technical workflow for authoring multi-frequency normal maps, calibrating PBR roughness, and shading textured concrete in Blender, Unreal Engine 5, and V-Ray.
The Tri-Frequency Topology of Textured Concrete
To construct believable concrete shaders, break down the physical surface into three distinct frequency bands:
[Tri-Frequency Textured Concrete Stack]
Macro Frequency: Board-formed timber planks, formwork seams, tie holes (15cm - 25cm) ──┐
├──> [RNM Blend] ──> [Shader Normal]
Meso Frequency: Exposed crushed aggregate pebbles, bug hole cavitation (3mm - 12mm) ──┤
│
Micro Frequency: Cement paste micro-grit, dried capillary pores (0.1mm - 0.5mm) ──┘
- Macro Frequency (Formwork Seams and Board Grain): Architectural board-formed concrete casts molten slurry against rough-sawn timber planks. When the formwork is stripped, the concrete permanently retains the wood grain, board offsets (
1mm – 4mm), and horizontal joint lines. Capturing these macro seams in your primary normal or displacement map provides structural rhythm across large walls. - Meso Frequency (Aggregate Stones and Bug Holes): Entrapped air bubbles create circular cavitation pockets (
bug holes, measuring2mmto8mmacross) with sharp recessed borders. In exposed aggregate varieties, washing the surface reveals hard quartz pebbles and fractured granite chips protruding from the cement matrix. - Micro Frequency (Cement Paste Porosity): Hydrated calcium silicate hydrate (C-S-H) gel produces high-frequency surface roughness. This micro-grit scatters specular light diffusely, preventing the concrete from reflecting sharp, plastic-like highlights.
PBR Textured Concrete Parameter Calibration Table
Different casting methods and aggregate mixes yield radically different physical responses. Use this reference matrix to calibrate your PBR shaders:
| Concrete Variety | Base Color (RGB Hex) | Roughness Range | Metallic | Normal Map Profile | Micro Displacement Depth |
|---|---|---|---|---|---|
| Board-Formed Timber Wall | #8E8B85 (Weathered cement gray) | 0.78 - 0.92 | 0.0 | Pronounced horizontal wood grain and plank seams | 2.0mm - 4.5mm |
| Exposed Pea Gravel Aggregate | #7D7972 (Warm earthy gray) | 0.65 - 0.85 | 0.0 | Protruding rounded river pebbles with deep mortar recess | 4.0mm - 8.0mm |
| Bush-Hammered Rough Cast | #94918B (Chiseled stone gray) | 0.85 - 0.98 | 0.0 | Dense, sharp fractured impact facets and micro-craters | 3.0mm - 6.0mm |
| Architectural Off-Shutter (Smooth) | #A3A09A (Light architectural buff) | 0.55 - 0.72 | 0.0 | Subtle formwork sheen with sparse air void pits | 0.5mm - 1.5mm |
| Weathered Brutalist Slab | #6E6A63 (Dark rain-stained gray) | 0.70 - 0.95 | 0.0 | Water drip erosion tracks and efflorescence salt crust | 2.5mm - 5.0mm |
Note: All cured concrete is an absolute dielectric mineral composite. Metallic must remain strictly 0.0. Rebar rust staining should be expressed through Base Color and Roughness variation, not Metallic.
Step-by-Step: Setting Up a Board-Formed Concrete Shader
Follow this production workflow to build a photorealistic board-formed concrete shader in Blender or Unreal Engine 5:
-
Implement World-Aligned Triplanar Mapping: When mapping concrete across multi-story buildings and modular architectural blocks, standard UV unwrapping causes visible seams at corners and vertical texture stretching. Project your concrete textures along world X, Y, and Z axes using triplanar blending with normalized vertex-normal weights.
-
Combine Formwork Normals with Cement Micro-Grit via RNM: Sample your macro board-formed timber normal map (capturing horizontal plank seams and wood grain). Sample a high-frequency cement micro-grit normal map tiled at
8xto16x. Blend them together using Reoriented Normal Mapping (RNM) to maintain sharp wood grain ridges alongside porous cement paste. -
Drive Cavity Shading and Crevice Dirt with AO: Bug holes and board-joint seams trap airborne dust and moisture. Sample the Ambient Occlusion map, invert it, and feed it into a ColorRamp:
- Multiply the cavity mask subtly into Base Color (
Factor: 0.25 - 0.40) to darken deep recesses. - Boost Roughness up to
0.95inside bug holes to eliminate unphysical specular shine within shadowed pits.
- Multiply the cavity mask subtly into Base Color (
[Blender 4.x Board-Formed Concrete Shader Pipeline]
(Base Color: #8E8B85) ──[Multiply with AO Cavity] ──> [Principled BSDF: Base Color]
(Imperfection Roughness: 0.78 - 0.92) ──────────────> [Principled BSDF: Roughness]
(Metallic: 0.0 - Strictly Dielectric) ──────────────> [Principled BSDF: Metallic]
(Macro Plank Seam Normal) ──[RNM]───────────────────> [Principled BSDF: Normal]
(Micro Cement Grit Normal: 8x Tile) ──┘
(Displacement Height Map) ──────────────────────────> [Material Output: Displacement]
-
Model Efflorescence and Water Staining: Rain dissolves free lime within concrete, depositing white calcium carbonate streaks (efflorescence) along drainage paths. Generate a vertical gradient mask driven by World-Z normal and noise. Use this mask to desaturate Base Color toward pale chalky white (
#D4D0C8) while increasing local Roughness to0.92. -
Configure Parallax Occlusion Mapping for Real-Time Depth: In Unreal Engine 5, feeding a 16-bit height map into a Parallax Occlusion Mapping (POM) node gives board seams and aggregate stones true physical depth. Set POM height ratio between
0.02and0.04to ensure plank edges physically overlap when viewed at grazing angles.
Creating Custom Textured Concrete Textures and Normal Maps
Hand-painting seamless board-formed seams, form tie holes, and multi-scale aggregate stones across complex modular architecture risks obvious pattern repetition and blurry height borders. Modern AI and procedural generators compute mathematically normalized vector derivatives, delivering seamless 4K and 8K surface textures ready for real-time engines.
If you need to generate production-ready board-formed concrete normal maps, aggregate displacement fields, and weathered architectural PBR textures, build your asset library with our Free Online Normal Map and PBR Generator — Try Board-Formed Concrete. You can also generate seamless tileable rough concrete walls and floor surfaces using our Seamless Texture Generator Online.
Textured Concrete Production Checklist
-
Metalliclocked strictly to0.0; concrete and mineral aggregates are dielectric insulators. - Multi-frequency normals blended via RNM to preserve both macro plank seams and micro cement paste grit.
- World-aligned triplanar mapping applied on large facades to eliminate UV seam stretching.
- Bug hole cavities and formwork seams darkened and roughness boosted via AO cavity masks.
- Base Color saturation kept moderate (
< 15%) to avoid artificial plastic tinting. - Parallax Occlusion Mapping or micro displacement enabled for grazing-angle silhouette relief.
Related reading: Concrete Texture Seamless · Microtopping Texture Seamless · Rock Texture PBR Guide · Grunge Texture PBR Guide