View Full Version : The history of Displacement mapping ?

09 September 2006, 05:14 PM
HI all !

I'am very interested in diaplacement mapping technology. Is there anyone can tell me the principium and history of displacement mapping technology? Who invented it? How dose it work? I want to know everything about it...

Any reply is welcome !! Thanks!

-Our country China cannot visit wikiPedia. So I wish you can copy and paste the articles to this forum. Thanks!

09 September 2006, 06:09 AM
Here's the article:

Displacement mapping is an alternative technique in contrast to bump mapping, normal mapping, and parallax mapping, using a heightmap to cause an effect where the actual geometric position of points over the textured surface are displaced along the surface normal according to the values stored into the texture.

For years, displacement mapping was a peculiarity of high-end rendering systems like RenderMan, while realtime Application Programming Interfaces, like OpenGL and DirectX, lacked this possibility. One of the reasons for this absence is that the original implementation of displacement mapping required an adaptive tessellation of the surface in order to obtain micropolygons whose size matched the size of a pixel on the screen.

With the newest generation of graphics hardware, displacement mapping can be interpreted as a kind of vertex-texture mapping, where the values of the texture map do not alter the pixel color, but instead change the position of the vertex. Unlike bump mapping and normal mapping, displacement mapping can in this way produce a genuine rough surface. It is currently implemented only in a few desktop graphics adapters, and it has to be used in conjunction with adaptive tessellation techniques (that increases the number of rendered polygons according current viewing settings) to produce highly detailed meshes, and to give a more 3D feel and a greater sense of depth and detail to textures to which displacement mapping is applied.

09 September 2006, 06:23 AM
The basic idea behind renderman rendering is to create a grid of extremely small polygons. The displacement method is fairly easy to understand - take a greyscale image that's mapped to the micropolygons. Move the micropolygons along their normal, proportional to the value of the image. This allows you to actually increase the detail, meaning that you change the silouette of the shape, instead of just the shading like bump mapping or normal mapping does.

The main reason to use displacement mapping is to be able to use lighter models, while retaining the detail in your geometry. This makes it easier for animation, data transfer, etc. Common ways to obtain displacement maps are procedural texture shaders, direct displacement painting, digital sculpting via a tool like Zbrush or Mudbox, and as a residual correction from scanning/surface fitting.

The first time I saw displacement mapping was in the context of fitting, in Hughes Hoppe's paper, Surface reconstruction from unorganized points ( Given how easy and useful it is in Renderman, I'd imagine it was in use far before then, although probably in the form of procedural displacement shaders.

CGTalk Moderation
09 September 2006, 06:23 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.