Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Bump mapping
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Principles== [[File:Bump map vs isosurface2.png|thumb|right|400px|Bump mapping is limited in that it does not modify the shape of the underlying object. On the left, a mathematical function defining a bump map simulates a crumbling surface on a sphere, but the object's outline and shadow remain those of a perfect sphere. On the right, the same function is used to modify the surface of a sphere by generating an [[isosurface]]. This models a sphere with a bumpy surface with the result that both its outline and its shadow are rendered realistically.]] Bump mapping is a technique in [[computer graphics]] to make a [[rendering (computer graphics)|rendered]] surface look more realistic by simulating small displacements of the surface. However, unlike [[displacement mapping]], the surface geometry is not modified. Instead only the surface normal is modified as if the surface had been displaced. The modified surface normal is then used for lighting calculations (using, for example, the [[Phong reflection model]]) giving the appearance of detail instead of a smooth surface. Bump mapping is much faster and consumes fewer resources for the same level of detail compared to displacement mapping because the geometry remains unchanged. There are also extensions which modify other surface features in addition to increasing the sense of depth. [[Parallax mapping]] and [[horizon mapping]] are two such extensions.<ref>{{cite book |last=Lengyel |first=Eric |date=July 2019 |title=Foundations of Game Engine Development, Volume 2: Rendering |url=http://foundationsofgameenginedev.com/ |publisher=Terathon Software LLC |isbn=978-0-9858117-5-4}}</ref> The primary limitation with bump mapping is that it perturbs only the surface normals without changing the underlying surface itself.<ref>[https://web.archive.org/web/20150914190914/http://web4.cs.ucl.ac.uk/staff/j.kautz/publications/rtbumpmapHWWS01.pdf Real-Time Bump Map Synthesis], Jan Kautz<sup>1</sup>, Wolfgang Heidrichy<sup>2</sup> and Hans-Peter Seidel<sup>1</sup>, (<sup>1</sup>Max-Planck-Institut fΓΌr Informatik, <sup>2</sup>University of British Columbia)</ref> Silhouettes and shadows therefore remain unaffected, which is especially noticeable for larger simulated displacements. This limitation can be overcome by techniques including displacement mapping where bumps are applied to the surface or using an [[isosurface]]. ===Methods=== There are two primary methods to perform bump mapping. The first uses a [[heightmap|height map]] for simulating the surface displacement yielding the modified normal. This is the method invented by Blinn<ref name="Blinn"/> and is usually what is referred to as bump mapping unless specified. The steps of this method are summarized as follows. Before a lighting calculation is performed for each visible point (or [[pixel]]) on the object's surface: # Look up the height in the [[heightmap]] that corresponds to the position on the surface. # Calculate the surface normal of the heightmap, typically using the [[finite difference]] method. # Combine the surface normal from step two with the true ("geometric") surface normal so that the combined normal points in a new direction. # Calculate the interaction of the new "bumpy" surface with lights in the scene using, for example, the [[Phong reflection model]]. The result is a surface that appears to have real depth. The algorithm also ensures that the surface appearance changes as lights in the scene are moved around. The other method is to specify a [[Normal mapping|normal map]] which contains the modified normal for each point on the surface directly. Since the normal is specified directly instead of derived from a height map this method usually leads to more predictable results. This makes it easier for artists to work with, making it the most common method of bump mapping today.<ref name="Mikkelsen"/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)