Logo by Danthree Studio - CGI Studio
Expertise
Creative Direction3D VisualizationHybrid AI Content Creation3D AnimationAugmented Reality (AR)Virtual Reality
Industries
Bathrooms - ManufacturersMaterials / Finishes - ManufacturersHome & Living ProductsFurniture - ManufacturersKitchens - ManufacturersUpholstered Furniture - ManufacturersSmart Home & Tech - Brands
Projects
Insights
Studio
Contact
de
arrow down
enfrit
Home
Expertise
Projects
Insights
Jobs
Studio
Contact
Industries
Bathrooms - Manufacturers
Materials / Finishes - Manufacturers
Home & Living Products
Furniture - Manufacturers
Kitchens - Manufacturers
Upholstered Furniture - Manufacturer
Home Appliances - Manufacturers
Or follow us on:
Instagram IconFacebook IconLinkedIn IconPinterest IconYouTube Icon
Logo by Danthree Studio - CGI Studio

CGI STUDIO for Furniture, Home & Living

Or follow us on:
Instagram IconFacebook IconLinkedIn IconPinterest IconYouTube Icon
Industries
Bathrooms - Manufacturers
Materials / Finishes - Manufacturers
Home & Living Products
Furniture - Manufacturers
Kitchens - Manufacturers
Upholstered Furniture - Manufacturer
Home Appliances - Manufacturers
GlossaryWhat is a normal map?

What is a normal map?

Daniel Schuster
•
Last updated:
September 10, 2026
In this glossary article:
Text Link
Text Link
Text Link
Text Link

CGI Visualization to Perfection

Danthree Studio turns complex 3D tech into high-converting marketing assets. Get high-end quality for your brand.

Start Project
GlossaryWhat is a normal map?

What is a normal map?

Daniel Schuster
•
Last updated:
September 10, 2026

Definition of Normal Map

A normal map is a texture that stores the direction of surface normals. It simulates small irregularities, wrinkles, or pores—without requiring additional polygons. The result: a high level of detail, short render times, and consistent materials in a PBR workflow.



How exactly does a normal map work?

Instead of modeling real geometry, the normals of each pixel are encoded as RGB values (usually in tangent space). The renderer interprets this color as the “orientation” of the surface—light reacts to it as if there were actual texture. Important: Color values representing the object’s color are not provided by the normal map, but by the albedo / base-color map.

In short:

  • RGB = XYZ normal direction
  • Tangent Space = Object can move/deform
  • Object Space = for static assets (e.g., architecture)
Explanation of Normal Maps



Normal Map Examples

Normal map of a woven fabric—fine fibers for realistic fabric rendering in real-time and offline renderers.
Fabric texture: The microstructures of the textile are created by the normal map—light refracts off the fibers, making the fabric feel remarkably realistic.



Normal map of a concrete surface with a board formwork texture for accurate light refraction and shadows in renderings.
Concrete/Wood Formwork: Vertical grooves and pores are simulated using a normal map—ideal for realistic concrete textures in interior and exterior scenes.



Normal map of a dark brick wall – joints and relief for realistic PBR materials in CGI.
Brick: The normal map highlights joints, chips, and reliefs—this gives brick surfaces a three-dimensional appearance without overloading the mesh.
3D rendering of a bright living room with a brown leather sofa and a view of the surrounding nature through large windows

From Technical Term to Visual Experience

We don't just use these technologies; we master them. See how we create photorealistic worlds for leading brands.

View Work



Mini Comparison: Normal Map vs. Bump Map

Criterion Normal Map (tangent space) Bump Map (Grayscale)
Light Sensitivity / Accuracy High (correct directions) Low (altitude values only)
Animation / Deformation Well-suited Limited
Color Information RGB Grayscale
Computational effort A little higher, but more efficient Very low



How Normal Maps Are Created at Danthree Studio

1. High-poly → Low-poly Bake

First, we create a detailed high-poly model (e.g., fabric fibers, wood pores, milled details). 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. To ensure your maps look consistent even on larger surfaces, we recommend testing them with the checker for tilable textures.

2. Shader Structure in the PBR Workflow

The baked normal map is combined in the material shader with roughness/metallic (PBR) and, if applicable, height/displacement. This ensures that materials behave consistently in any lighting setup—whether in a render, WebGL viewer, or AR.

3 Optimization for Real-Time & glTF

For web viewers (glTF, USDZ), we reduce the resolution and bit depth without any visible loss of detail. Where necessary, we merge multiple normal maps (detail/tile) into a single texture to keep load times to a minimum.

4. Quality Control & Brand Identity (CI)

Before the go-live, we check: Does the microstructure truly match the product message (e.g., fine linen vs. coarse tweed)? Are highlights rendered correctly under lighting conditions that comply with our CI? Only then do we approve the rendering in our 3D rendering studio.



Quick Tips for Working with Normal Maps

Quick Tips for Working with Normal Maps

  • Clean UVs & sufficient padding —otherwise, artifacts will appear along the edges.
  • Use a cage when converting from high-poly to low-poly for baking.
  • 16-bit/32-bit when baking (e.g., in Substance 3D Painter) → less banding.
  • Don't use normal maps on reflective glass surfaces —you need different maps (roughness, IOR).
  • Check Swizzle (OpenGL vs. DirectX) – wrong axis = inverted details.



Normal Maps in Action: Two Project Examples

1. Normal Maps in Action – Sofa

For the 3D product visualization for Natuzzi, we baked the fine leather grain, creases, and indentations as a normal map from the high-poly model. This makes the highlights and shadows on the material appear three-dimensional—without unnecessarily high polygon counts.

3D visualization of a Natuzzi leather sofa in a room – the normal map creates a realistic surface and highlights
An amazing scene: Thanks to the normal map and metalness map, the leather sofa looks richly detailed even in the full view—from soft edges to highlights.



3D visualization of a Natuzzi leather sofa in a room – the normal map creates a realistic surface and highlights
Close-up: The baked normal map reveals the leather's texture—small wrinkles and pores react realistically to light.



2. Plant Pot & Bench – Highlighting the Clay Texture

In the project 3D Visualizations for Planters & Benches (Watcon) we used a normal map to incorporate the irregular clay texture and small grooves. This allows light to interact realistically with the surface—ideal for outdoor renderings in various environments.

Outdoor scene with three plant pots – the normal map makes the mineral surface look realistic, despite the reduced polygon count
Awesome look: Despite the low poly count, normal maps create realistic material depth —ideal for web viewers, AR, or large advertising banners.



3D visualization of a plant trough with a finely textured surface—the normal map highlights grooves and edges in a photorealistic way
Close-up: The normal map highlights the rough grooves of the plant trough and its sharp-edged design—perfect for close-ups and print.



FAQ – Normal Map



Do I always need tangent space for normal maps?

Not necessarily. Tangent-space normal maps are the standard for animated/deformable meshes. For rigid assets, you can also use object-space or world-space normal maps—they're more accurate, but harder to combine.



How does normal mapping work?

A normal map modifies the surface normals of a pixel without adding geometry. This makes light and shadow appear more detailed—while maintaining the same number of polygons.



Which map slots do I need to assign in the WebGL/Three.js material?

In Three.js, you assign the normalMap to the MeshStandardMaterial. Make sure the intensity (normalScale) and color space (Linear, not sRGB) are correct.



What settings do I need to configure in Blender when importing a normal map?

In the Shader Editor, use the Normal Map node, set "Color Space = Non-Color," and connect the output to the Normal input of the BSDF shader.



Why do my wrinkles/details look smoothed out or incorrect?

Common causes: incorrect color space, mismatched tangent base, 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 into 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 material's Normal port.



How do I bake a clean normal map from high-poly to low-poly?

Clean UVs, use a cage, and check for artifacts. The Polycount Wiki on baking describes the basic steps. Anti-aliasing, sufficient padding, and proper triangulation are essential.

Logo by Danthree Studio - CGI Studio

CGI Studio for Furniture, Home & Living

Our Expertise

Strategic CGI Consulting &
Visual Design
3D Modeling
3D Visualization
Augmented Reality (AR)
Pack Shots / Clipping
Digitize Surfaces
3D Animation
Virtual Reality

Industries

Bathrooms - Manufacturers
Materials / Finishes - Manufacturers
Home & Living Products
Furniture - Manufacturers
Kitchens - Manufacturers
Upholstered Furniture - Manufacturer
Flooring Manufacturer
Home Appliances - Manufacturers
Bedroom Visualization
Interior / Space Visualization
Living Room Rendering
Outdoor Garden Furniture
3D Visualization Office
3D fireplace & stove rendering
Wall Covering Manufacturers

Studio

Projects
Insights
Glossary
Jobs
Contact
Studio

Studio Tools

Studio Tools
SKU CGI - Planner
3D Viewer
ROI Calculator: CGI vs. Photo Shoot
CO₂/Sustainability Savings Calculator
Before-and-After Photo Comparison
Checker Tiled Textures
Motif format & safe area checker
CGI Price Calculator
AR QR Code Generator
Legal Notice
Privacy Policy
Cookies
Cookie Settings
Jobs