Feature-based Displacement Mapping

Displacement mapping was originally created as a rendering tool to provide small-scale modulation of an underlying smooth surface. However, it has now emerged as a sculpting tool, to the extent that complex geometry can effectively be added to a scene at rendering time. The attendant complexity of displacement maps is placing increased demands on rendering systems, from quality, performance, and memory perspectives. While adequate solutions exist within scanline rendering architectures, good general solutions have been difficult to come by in ray-traced or hardware-based environments, or in situations in which a complete displaced surface is desired. We present an approach to the rendering of displacement mapped surfaces that scales with the complexity of the displacement map, with an eye to minimizing the amount of additional geometry generated by the mapping process. We perform a feature analysis of displacement maps, aggregate these features, and map them onto geometry in space. This approach affords a significant degree of complexity control, it permits feature-based tessellation of surfaces, and it is amenable to use in ray-traced, scanline, or hardware accelerated settings. This kind of feature analysis naturally applies to other classes of texture mapping as well.