What is a Normal Map?
CGI for strong brand presences
From hero renders to campaign assets: Our 3D studio delivers high-quality 3D images and animations that sell – and seamlessly integrate into your CI. Get a non-binding assessment.
What is a Normal Map?
Definition Normal Map
A Normal Map is a texture that stores the direction of surface normals. It simulates small bumps, wrinkles, or pores – without additional polygons. The result: lots of detail, little render time, and consistent materials in the PBR workflow.
How exactly does a Normal Map work?
Instead of modeling real geometry, the normals of each pixel are encoded into RGB values (usually tangent space). The renderer interprets this color as the 'orientation' of the surface – light reacts to it as if there were real structure.
In short:
- RGB = XYZ normal direction
- Tangent Space = Object can move/deform
- Object Space = for static assets (e.g. architecture)

Normal Map Examples




Want to know how we can visually boost your brand with CGI?
We'll explain the process, effort, and output of CGI product images for your brand communication for your furniture, home & living brand – transparently and without obligation.
Learn more nowMini-Comparison: Normal Map vs. Bump Map
This is how Normal Maps are created at Danthree Studio
1. Highpoly → Lowpoly Bake
We first create a detailed high-poly model (e.g. fabric fibers, wood pores, millings). From this we bake normal, AO and curvature maps onto the optimized low-poly model. A clean UV atlas, sufficient UV padding and 16/32-bit output prevent banding and seams.
2. Shader Setup in PBR Workflow
The baked Normal Map is combined in the material shader with Roughness/Metalness (PBR), and possibly Height/Displacement. This ensures that materials react consistently in any lighting setup – whether it's a render, WebGL viewer, or AR.
3. Optimization for Realtime & glTF
For web viewers (glTF, USDZ), we reduce resolution/bit depth without any visible loss of detail. Where necessary, we merge multiple Normal Maps (Detail/Tile) into one texture to keep loading times short.
4. Quality Control & Brand CI
Before going live, we check: Does the microstructure really fit the product message (e.g., fine linen vs. coarse tweed)? Are highlights rendered correctly under CI-compliant lighting moods? Only then do we give the go-ahead for rendering in our 3D Rendering Studio.
Quick Tips for Working with Normal Maps
Normal Maps in Action: Two Project Examples
1. Normal Maps in Action – Sofa
In the 3D product visualization for Natuzzi, we baked the fine leather grain, wrinkles, and pressure points as a Normal Map from the highpoly model. This makes highlights and shadows appear more realistic on the material – without unnecessarily high polygon counts.


2. Plant Pot & Bench – Making Clay Structure Visible
In the project 3D Visualizations for Plant Pots & Benches (Watcon), we incorporated the irregular clay structure and small grooves using a Normal Map. This allows light to play convincingly over the surface – ideal for outdoor renderings in different environments.


FAQ – Normal Map
Do I always need Tangent Space for Normal Maps?
Not necessarily. Tangent-Space Normal Maps are standard for animated/deformable meshes. For rigid assets, you can also use Object-/World-Space Normal Maps – they are more accurate but harder to combine.
How does the principle behind Normal Mapping work?
A Normal Map changes the surface normals of a pixel without adding geometry. This makes light and shadow appear more detailed – with the same polygon count.
Which map slots do I need to fill in the WebGL/Three.js material?
In Three.js, you assign the normalMap in the MeshStandardMaterial. Pay attention to the correct intensity (normalScale) and color space (Linear, not sRGB).
What do I need to set when importing a Normal Map in Blender?
In the Shader Editor, use the Normal Map Node, set “Color Space = Non-Color”, and connect the result to the Normal input of the BSDF shader.
Why do my folds/details look softened or wrong?
Common causes: incorrect color space, unsuitable tangent basis, or inverted channels. Check out the Best Practices for Normal Maps and see if you need to correct the green/blue channel swizzle.
How do I import Normal Maps correctly in Cinema 4D/Redshift?
In the Redshift or Standard Renderer, use the Normal Map Shader, set the texture to “Linear/Non-Color”, and connect it to the Normal port of the material.
How do I bake a clean Normal Map from Highpoly to Lowpoly?
Clean UVs, use a cage, and check for artifacts. The basic steps are described in the Polycount-Wiki on Baking. Anti-aliasing, sufficient padding, and correct triangulation are mandatory.