But this "ParalaxBumpMapping" doesn't need DirectX11 afaik. About six years ago I've been helping out a mod called "UltimaUnreal" (it was called "E.P.O.S." later, RIP), and we have brought exactly this kind of paralax-mapping with these "normal- + height- mapped materials" into UT'99's Engine and it worked quite well (5 years ago!). It added these visible 3D-polygons also to the edges of a surface without having to model them.
-
Parallax mapping = Virtual Displacement Mapping = displacement happens inside the pixel shader, pixels are offset, no new geometry is created.
True displacement mapping is different in that it actually subdivides the basemesh, hence it also smooths silhouettes and needs less input textures to achieve the effect of displacement.
For instance, normal maps which are used to create the illusion of geometry compress very badly with standard compression schemes -- lots of artifacting. This is because DXT1, 3 and 5 were built with compression of diffuse color data in mind.
Diffuse maps can be compressed lossy, surface normal data however needs to be normalized and it's generally not possible to store color components in lower precision and resolution as you would with DXT or JPG compression.
So, the problem with normal maps is that they take up a lot of memory, since they either have to be saved without compression, or use a special compression scheme such as 3Dc which uses lossless compression, but still has a 1/2 compression factor, which is rather high compared to the standard 1/8 ratio provided by DXT1 for diffuse maps.
Displacement mapping makes sense, because instead of having to store 3 or 4 components (normal X, normal Y, binormal, and displacement )
you only need to store 1: the surface height offset. Since new geometry is created on the fly this means that you theoretically (not all engines do it like this) do not need to store additional data. Another interesting feature is that it simplifies the management of level of detail.
That's the theory, in a nutshell, ofcourse in real life you'll bump into other more subtle issues, like how to manage creases etc. Which Epic is working on afaik.
Also I said only store one component, but there's also vector displacement mapping, which needs 3 components -- it's a more advanced form of displacement. Some engines also store the normals for other reasons.