<p>As the name suggests, normal mapping only changes the direction of the normal vector in relation to the original normal vector and its tangent and bitangent.</p>
<p>This technique can be used to simulate joints in a wall and the like. But the geometry is not changed.</p>
<p><strong>So let's talk about your scenarios:</strong></p>
<p>The 20 sheets of paper would have the same normal vector as the original surface on which the sheets of paper lie. So here your normal map would only simulate the edges of the paper. I think since the 20 sheets are not very high, this would look good.</p>
<p>The dome:</p>
<blockquote>
<p>does the top/plateau of the dome appear flat throughout all changes? Or does &gt; it appear like a pit/hole at the center of the dome?</p>
</blockquote>
<p>The dome appears to be flat. There is no hole. But: If the camera angle looks flat on the dome surface, you can directly see that the dome itself has no geometry.</p>
<p>Normal mapping is a technique to simulate a structure on a surface without using additional vertices. It is a very simple and fast technique.</p>
<p>To simulate a 3D-like geometry on a surface, there are other techniques that work much better than normal mapping:</p>
<p>Relief mapping: Here you can simulate a geometry that is only located within the surface. <a href="https://developer.nvidia.com/gpugems/gpugems3/part-iii-rendering/chapter-18-relaxed-cone-stepping-relief-mapping" rel="nofollow noreferrer">https://developer.nvidia.com/gpugems/gpugems3/part-iii-rendering/chapter-18-relaxed-cone-stepping-relief-mapping</a></p>
<p>Distance mapping: a pixel based raytracer, here the simulated geometry can go into as well as out of the actual geometry. However, only pixels that hit the actual geometry are simulated. This means, for example, that if you project a mountain onto a smooth surface, the top will be cut off if the camera is too flat. This technique is only used for smaller things (see gully cover) <a href="https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-8-pixel-displacement-mapping-distance-functions" rel="nofollow noreferrer">https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-8-pixel-displacement-mapping-distance-functions</a></p>
<p>Displacement mapping: In contrast to the other techniques, where you only simulate the 3D geometry, here you create real geometry. The additionally required vertices can be generated using tessellation shaders. The resolution of the displacement can then be changed by the distance of the camera to the object. <a href="https://en.wikipedia.org/wiki/Displacement_mapping" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Displacement_mapping</a> The displacement mapping is somewhat older and has been heavily revised. You should look around for improved techniques here</p>
<p>there are dozens of other techniques you should take a look at...</p>

CC BY-SA 4.0
2024-08-16T07:03:23.200Z
I appreciate the in-depth response, and will try to understand it going forward.

The reason I framed the question this way is because I am making custom assets for a Source 2 game, with predetermined possibilities/tools (as per the game publisher/engine) at my disposal. One of those is use of a normal map.
experimenting_with_graphics
CC BY-SA 4.0
2024-08-16T07:07:37.620Z
don't get me wrong, normalmaps are great, but as I said only for surface detailing. Your engine should offer this in any case
Thomas
CC BY-SA 4.0
2024-08-16T06:59:35.457Z
2024-08-16T06:59:35.457Z
Thomas
<p>Example:</p>
<p>I have a flat surface. On this flat surface, I want a very thin rectangle (or very flat &quot;box&quot;). It's the same size (W x L) of say a sheet of paper, but not quite as thin (H) as paper (say as thick as a stack of 20 sheets).</p>
<p>Is it possible to do this with a normal map? Or do normal maps require constant changing of &quot;depth&quot; along a surface to actually create an effect?</p>
<p>(This will be a normal map that will then be fed into a Source 2 game engine to create the effect from any angle).</p>
<p>Note that I'm still quite new at normal mapping and 3D rendering in general.</p>
<p>EDIT:</p>
<p>So put another way, say for the following normal map...</p>
<p><a href="https://i.sstatic.net/itM7XTMj.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/itM7XTMj.png" alt="normal map example" /></a></p>
<p>If the area of the top of the dome gets larger and larger (say if the dome gets bigger or the geometry of the dome changes accordingly), does the top/plateau of the dome appear flat throughout all changes? Or does it appear like a pit/hole at the center of the dome?</p>

<normal-mapping>
Is it possible to use a normal map to create the effect of a raised surface that is also flat over a large area (rotatable 3D model)?
experimenting_with_graphics
# Is it possible to use a normal map to create the effect of a raised surface that is also flat over a large area (rotatable 3D model)?

(Asked by: username_0 on 2024-08-16)

Example:

I have a flat surface. On this flat surface, I want a very thin rectangle (or very flat "box"). It's the same size (W x L) of say a sheet of paper, but not quite as thin (H) as paper (say as thick as a stack of 20 sheets).

Is it possible to do this with a normal map? Or do normal maps require constant changing of "depth" along a surface to actually create an effect?

(This will be a normal map that will then be fed into a Source 2 game engine to create the effect from any angle).

Note that I'm still quite new at normal mapping and 3D rendering in general.

EDIT:

So put another way, say for the following normal map...

[![normal map example](https://i.sstatic.net/itM7XTMj.png)](https://i.sstatic.net/itM7XTMj.png)

If the area of the top of the dome gets larger and larger (say if the dome gets bigger or the geometry of the dome changes accordingly), does the top/plateau of the dome appear flat throughout all changes? Or does it appear like a pit/hole at the center of the dome?

**Tags:** normal-mapping


---

## 1 answers

### Answer by username_1 on 2024-08-16. Score: 1

As the name suggests, normal mapping only changes the direction of the normal vector in relation to the original normal vector and its tangent and bitangent.

This technique can be used to simulate joints in a wall and the like. But the geometry is not changed.

**So let's talk about your scenarios:**

The 20 sheets of paper would have the same normal vector as the original surface on which the sheets of paper lie. So here your normal map would only simulate the edges of the paper. I think since the 20 sheets are not very high, this would look good.

The dome:

> does the top/plateau of the dome appear flat throughout all changes? Or does > it appear like a pit/hole at the center of the dome?

The dome appears to be flat. There is no hole. But: If the camera angle looks flat on the dome surface, you can directly see that the dome itself has no geometry.

Normal mapping is a technique to simulate a structure on a surface without using additional vertices. It is a very simple and fast technique.

To simulate a 3D-like geometry on a surface, there are other techniques that work much better than normal mapping:

Relief mapping: Here you can simulate a geometry that is only located within the surface. <https://developer.nvidia.com/gpugems/gpugems3/part-iii-rendering/chapter-18-relaxed-cone-stepping-relief-mapping>

Distance mapping: a pixel based raytracer, here the simulated geometry can go into as well as out of the actual geometry. However, only pixels that hit the actual geometry are simulated. This means, for example, that if you project a mountain onto a smooth surface, the top will be cut off if the camera is too flat. This technique is only used for smaller things (see gully cover) <https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-8-pixel-displacement-mapping-distance-functions>

Displacement mapping: In contrast to the other techniques, where you only simulate the 3D geometry, here you create real geometry. The additionally required vertices can be generated using tessellation shaders. The resolution of the displacement can then be changed by the distance of the camera to the object. <https://en.wikipedia.org/wiki/Displacement_mapping> The displacement mapping is somewhat older and has been heavily revised. You should look around for improved techniques here

there are dozens of other techniques you should take a look at...

> **Comments:**
> **username_0**: I appreciate the in-depth response, and will try to understand it going forward.  The reason I framed the question this way is because I am making custom assets for a Source 2 game, with predetermined possibilities/tools (as per the game publisher/engine) at my disposal. One of those is use of a normal map.  
> **username_1**: don't get me wrong, normalmaps are great, but as I said only for surface detailing. Your engine should offer this in any case  

---

