Rumours: Are the Nintendo Revolution graphics going to be powered by displacement mapping?
A recent patent nintendo regiested at the American patent office (Find said registration
here) says that the revolution will be using "displacement mapping", a heavly improved version of Bump mapping, if you want to know what displacement mapping is, read this:
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 change the position of the vertex instead. Unlike bump mapping and normal mapping, displacement mapping can in this way produce a genuine rough surface.
Let´s look at the diagram accompanying that article and allow me to repeat the above in my own words.Rather than altering the colour of the pixels, the displacement map alters their height, actually raising or lowering the mesh. The obvious advantage over bumb mapping is that it actually creates a rough surface. Bump mapping only creates the illusion of one. Whereas the effect of bump mapping depends on how you look at the rendered object (the effect will be lost in a profile view, i.e. from the side), this technique works irrespective of viewing angles.
The following image is an example of what this technique can do, courtesy of ZBrush.
Displacement mapping allows you to can create elaborately detailed objects with a low polygon count. Here´s a comparison between the various mapping techniques, taken from Johannes Hirche´s 2004 Ph.D. thesis Adaptive sampling and tessellation for displacement mapping hardware, which focusses on ´efficient rendering of such displacement maps, mainly targeted at graphics hardware architectures´.I am sure you can tell that it is a significant step up from the previous techniques. However, it comes at a price. While the poly count is significantly lower, there is some strain on the CPU. Johannes Hirche writes:
Rendering displacement mapped surfaces is a process that involves a significant number of geometric and arithmetic operations. When applied to a triangle mesh, it involves prior retessellation of the base domain surface and transformation of the vertices and normals. Even on fast CPUs, it is a time consuming operation, wasting bandwidth and processing power.
This is why displacement mapping has not been widely used in real-time graphics. However, new and refined techniques allow for displacement mapping to be implemented in real-time. Again, Johannes Hirche writes:
The main focus was to explore new techniques suitable for hardware implementation in order to reduce the bandwidth strain on the system bus by moving the tessellation process onto the graphics subsystem. (...) A possibility to overcome these problems is to tessellate the individual triangles sequentially and to adaptively add triangles where necessary, until a desired level of accuracy is
reached. (...) With only minor user interaction or conservatively predefined input parameters the sampling schemes produce adaptive tessellations with very low error measures.
The above covered the immediate advantages of displacement mapping and some current problems with it, as well as how they may be overcome. Let´s see why this is relevant to Nintendo and, perhaps, the Revolution.
Some images of what displacement mapping looks like:
And a video:
http://www.youtube.com/w/Nintendo-Revolution-Displacement-Mapping?v=r8LX2-Xah9A&search=nintendo%20revolution
According to the video, the final graphics should be superior to both X-BOX 360 and the PS3, yet the Revolution will stay at a price under 300$.