Knowledge

Bump mapping

Source 📝

77: 193: 31: 183:
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
122:
The primary limitation with bump mapping is that it perturbs only the surface normals without changing the underlying surface itself. Silhouettes and shadows therefore remain unaffected, which is especially noticeable for larger simulated displacements. This limitation can be overcome by techniques
80:
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
57:
of the object and using the perturbed normal during lighting calculations. The result is an apparently bumpy surface rather than a smooth surface, although the surface of the underlying object is not changed. Bump mapping was introduced by
139:
for simulating the surface displacement yielding the modified normal. This is the method invented by Blinn and is usually what is referred to as bump mapping unless specified. The steps of this method are summarized as follows.
101:, 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 34:
A sphere without bump mapping (left). A bump map to be applied to the sphere (middle). The sphere with the bump map applied (right) appears to have a mottled surface resembling an
266: 496: 176:
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.
108:
Bump mapping is much faster and consumes fewer resources for the same level of detail compared to displacement mapping because the geometry remains unchanged.
287:
for the lighting calculations, the method could be implemented with a very simple and fast loop, allowing for a full-screen effect. This method was a common
437: 283:
One typical way was to use a fixed geometry, which allows one to use the heightmap surface normal almost directly. Combined with a precomputed
422: 38:. Bump maps achieve this effect by changing how an illuminated surface reacts to light, without modifying the size or shape of the surface. 459: 165:
Combine the surface normal from step two with the true ("geometric") surface normal so that the combined normal points in a new direction.
387: 482: 544: 456:, Max, N.L., Becker, B.G., Computer Graphics and Applications, IEEE, Jul 1994, Volume 14, Issue 4, pages 18 – 20, ISSN 0272-1716 489: 85:. This models a sphere with a bumpy surface with the result that both its outline and its shadow are rendered realistically. 440:, Jan Kautz, Wolfgang Heidrichy and Hans-Peter Seidel, (Max-Planck-Institut für Informatik, University of British Columbia) 94: 621: 616: 111:
There are also extensions which modify other surface features in addition to increasing the sense of depth.
169: 102: 210: 611: 280:
often use variations of the technique in order to simulate bump mapping at a lower computational cost.
168:
Calculate the interaction of the new "bumpy" surface with lights in the scene using, for example, the
519: 274: 116: 98: 590: 53:
for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the
559: 453: 418: 380: 159: 97:
surface look more realistic by simulating small displacements of the surface. However, unlike
90: 50: 529: 112: 505: 46: 464: 335: 76: 585: 524: 315: 305: 300: 180: 65: 54: 35: 605: 549: 192: 580: 284: 123:
including displacement mapping where bumps are applied to the surface or using an
30: 564: 539: 468: 460:
Simple creating vectors per pixel of a grayscale for a bump map to work and more
288: 277: 59: 359: 534: 124: 82: 474: 152: 136: 412: 363: 135:
There are two primary methods to perform bump mapping. The first uses a
17: 310: 143:
Before a lighting calculation is performed for each visible point (or
158:
Calculate the surface normal of the heightmap, typically using the
191: 144: 75: 29: 478: 105:) giving the appearance of detail instead of a smooth surface. 414:
Foundations of Game Engine Development, Volume 2: Rendering
27:
Texturing technique for bumps/wrinkles in computer graphics
213: 573: 512: 362:, Computer Graphics, Vol. 12 (3), pp. 286-292 68:is the most common variation of bump mapping used. 260: 155:that corresponds to the position on the surface. 81:modify the surface of a sphere by generating an 207:bump mapping effect with light source orbiting 490: 8: 381:"Simulation of Wrinkled Surfaces Revisited" 374: 372: 497: 483: 475: 252: 243: 237: 224: 212: 291:when bump mapping was first introduced. 196:Example of a realtime fake bump mapping. 354: 352: 327: 201:surface bitmap, intentionally blurry, 7: 261:{\displaystyle 1=x^{2}+y^{2}/x^{2}} 25: 360:"Simulation of Wrinkled Surfaces" 179:The other method is to specify a 454:Bump shading for volume textures 188:Realtime bump mapping techniques 393:from the original on 2019-05-26 89:Bump mapping is a technique in 336:"Bump and Environment Mapping" 1: 438:Real-Time Bump Map Synthesis 411:Lengyel, Eric (July 2019). 386:. p. 7 (Section 2.2). 147:) on the object's surface: 638: 506:Texture mapping techniques 379:Mikkelsen, Morten (2008). 151:Look up the height in the 417:. Terathon Software LLC. 119:are two such extensions. 204:source of light bitmap, 271: 262: 170:Phong reflection model 103:Phong reflection model 86: 39: 263: 195: 79: 33: 520:Displacement mapping 465:Bump Mapping example 275:Realtime 3D graphics 211: 99:displacement mapping 591:Environment mapping 366:-ACM (August 1978) 272: 258: 87: 40: 599: 598: 560:Occlusion mapping 424:978-0-9858117-5-4 160:finite difference 91:computer graphics 51:computer graphics 16:(Redirected from 629: 565:Specular mapping 530:Parallax mapping 499: 492: 485: 476: 441: 435: 429: 428: 408: 402: 401: 399: 398: 392: 385: 376: 367: 358:Blinn, James F. 356: 347: 346: 340: 332: 267: 265: 264: 259: 257: 256: 247: 242: 241: 229: 228: 113:Parallax mapping 21: 637: 636: 632: 631: 630: 628: 627: 626: 622:Virtual reality 617:Texture mapping 602: 601: 600: 595: 569: 508: 503: 450: 445: 444: 436: 432: 425: 410: 409: 405: 396: 394: 390: 383: 378: 377: 370: 357: 350: 338: 334: 333: 329: 324: 297: 248: 233: 220: 209: 208: 197: 190: 133: 117:horizon mapping 74: 55:surface normals 47:texture mapping 28: 23: 22: 15: 12: 11: 5: 635: 633: 625: 624: 619: 614: 604: 603: 597: 596: 594: 593: 588: 586:Sphere mapping 583: 577: 575: 571: 570: 568: 567: 562: 557: 552: 547: 545:Relief mapping 542: 537: 532: 527: 525:Normal mapping 522: 516: 514: 510: 509: 504: 502: 501: 494: 487: 479: 473: 472: 462: 457: 449: 448:External links 446: 443: 442: 430: 423: 403: 368: 348: 326: 325: 323: 320: 319: 318: 316:Normal mapping 313: 308: 306:Offset surface 303: 301:Distance field 296: 293: 270: 269: 255: 251: 246: 240: 236: 232: 227: 223: 219: 216: 205: 202: 189: 186: 174: 173: 166: 163: 156: 132: 129: 73: 70: 66:Normal mapping 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 634: 623: 620: 618: 615: 613: 610: 609: 607: 592: 589: 587: 584: 582: 579: 578: 576: 572: 566: 563: 561: 558: 556: 553: 551: 550:Alpha mapping 548: 546: 543: 541: 538: 536: 533: 531: 528: 526: 523: 521: 518: 517: 515: 511: 507: 500: 495: 493: 488: 486: 481: 480: 477: 470: 466: 463: 461: 458: 455: 452: 451: 447: 439: 434: 431: 426: 420: 416: 415: 407: 404: 389: 382: 375: 373: 369: 365: 361: 355: 353: 349: 344: 337: 331: 328: 321: 317: 314: 312: 309: 307: 304: 302: 299: 298: 294: 292: 290: 289:visual effect 286: 281: 279: 276: 253: 249: 244: 238: 234: 230: 225: 221: 217: 214: 206: 203: 200: 199: 194: 187: 185: 182: 177: 171: 167: 164: 161: 157: 154: 150: 149: 148: 146: 141: 138: 130: 128: 126: 120: 118: 114: 109: 106: 104: 100: 96: 92: 84: 78: 71: 69: 67: 63: 61: 56: 52: 49:technique in 48: 44: 37: 32: 19: 612:Demo effects 581:Cube mapping 555:Bump mapping 554: 433: 413: 406: 395:. Retrieved 342: 330: 285:lookup table 282: 273: 178: 175: 142: 134: 121: 110: 107: 88: 64: 43:Bump mapping 42: 41: 574:Environment 540:UVW mapping 469:Java applet 343:ics.uci.edu 278:programmers 268:trajectory. 198:From left: 60:James Blinn 606:Categories 535:UV mapping 397:2011-08-05 322:References 181:normal map 137:height map 125:isosurface 93:to make a 83:isosurface 72:Principles 153:heightmap 62:in 1978. 388:Archived 364:SIGGRAPH 295:See also 95:rendered 18:Bump map 311:Greeble 184:today. 162:method. 131:Methods 421:  36:orange 513:Local 391:(PDF) 384:(PDF) 339:(PDF) 145:pixel 45:is a 419:ISBN 115:and 608:: 371:^ 351:^ 341:. 127:. 498:e 491:t 484:v 471:) 467:( 427:. 400:. 345:. 254:2 250:x 245:/ 239:2 235:y 231:+ 226:2 222:x 218:= 215:1 172:. 20:)

Index

Bump map

orange
texture mapping
computer graphics
surface normals
James Blinn
Normal mapping

isosurface
computer graphics
rendered
displacement mapping
Phong reflection model
Parallax mapping
horizon mapping
isosurface
height map
pixel
heightmap
finite difference
Phong reflection model
normal map

Realtime 3D graphics
programmers
lookup table
visual effect
Distance field
Offset surface

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.