Premium
Displacement Mapping on the GPU — State of the Art
Author(s) -
SzirmayKalos László,
Umenhoffer Tamás
Publication year - 2008
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/j.1467-8659.2007.01108.x
Subject(s) - shader , computer science , displacement mapping , computer graphics (images) , vertex (graph theory) , graphics , pixel , graphics hardware , robustness (evolution) , k d tree , algorithm , computer vision , silhouette , artificial intelligence , tree traversal , theoretical computer science , graph , texture mapping , biochemistry , chemistry , gene
This paper reviews the latest developments of displacement mapping algorithms implemented on the vertex, geometry, and fragment shaders of graphics cards. Displacement mapping algorithms are classified as per‐vertex and per‐pixel methods. Per‐pixel approaches are further categorized as safe algorithms that aim at correct solutions in all cases, to unsafe techniques that may fail in extreme cases but are usually much faster than safe algorithms, and to combined methods that exploit the robustness of safe and the speed of unsafe techniques. We discuss the possible roles of vertex, geometry and fragment shaders to implement these algorithms. Then the particular GPU‐based bump, parallax, relief, sphere, horizon mapping, cone stepping, local ray tracing, pyramidal and view‐dependent displacement mapping methods, as well as their numerous variations are reviewed providing also implementation details of the shader programs. We present these methods using uniform notations and also point out when different authors called similar concepts differently. In addition to basic displacement mapping, self‐shadowing and silhouette processing are also reviewed. Based on our experiences gained having reimplemented these methods, their performance and quality are compared, and the advantages and disadvantages are fairly presented.