In This Article
What is Bump Mapping?
Bump mapping refers to a specific technique used in computer graphics by which bumps and shadows are simulated on a smooth surface of a 3D object to give rough textures to it.
Technically, bump mapping signifies a video accelerator technique that uses the height-field method. In simple words, in this technique, irregularities are created on a surface via shading, which would have looked plain and ugly otherwise.
- Bump mapping is a graphics simulation process used on the 3D objects surfaces to make them look much more realistic.
- The process involves lighting calculations and modifications to the texture of the map surface to create a rough surface with bumps and shadows.
- The process does not use additional polygons but uses extensions such as horizon and parallax mapping and the Phong shading and reflection model.
- Bump mapping is used for several applications and programs.
- This process is quite different from the traditional texture mapping process and should not be confused with it.
Understanding Bump Mapping
Bump mapping refers to a texture mapping process followed in computer graphics in which the surface normal is perturbed to simulate bumps and wrinkles on it.
Introduced in 1978 by James Blinn, there are a few specific principles followed in the bump mapping technique. These are:
- Only the surface normal, not the surface geometry, is altered to simulate small displacements.
- In addition to the disturbed normal of the surface, lighting calculations are also made in order to change the smooth surface into a bumpy surface.
This process is also characterized by the following:
- It is faster.
- It is usually hardware-driven.
- It increases the sense of depth by adjusting lights and shadows.
Through the bump mapping process, additional features on the surface of the object are also altered. For this, extensions are used, such as:
- Horizon mapping
- Parallax mapping
The most significant limitation of bump mapping is that shadows and silhouettes are not affected by this process since the underlying surface is not modified.
There are basically two methods for bump mapping.
Using a height map:
In this method, which was invented by Blinn, a height map is used to modify the normal and simulate bumps.
In this method, a few specific steps are followed before making the lighting calculation for each pixel or visible point on the surface. These are:
- Looking up the height corresponding to the position on the surface in the height map
- Calculating the surface normal of the height map using the finite difference method
- Combining the surface normal thus found with the geometric or true surface so that it points in a new direction
- Calculating the interaction between the lights and the new bumpy surface using a reflection model
This creates a surface with real depth, and the algorithm ensures that its appearance changes when the lights move around the scene.
Using a normal map:
The second method followed in bump mapping is by using a normal map containing the modified normal for every visible point on the surface.
The normal is specified directly and is not derived from the height map. This produces more accurate and predictable results, thereby helping the users to work with the scene.
This is typically the most commonly followed method in bump mapping today.
Today, bump mapping is used in a wide range of programs and applications, including, but not limited to:
There are basically two popular types of bump mapping, such as:
Emboss bump mapping
Also referred to as two-pass emboss bump mapping, the characteristics of this type are:
- It is a multi-pass algorithmic process.
- It copies texture images.
- It covers texture embossing.
- It moves the anticipated bump amount.
- It darkens the underlying texture.
- It trims the additional texture.
- It combines the replicated texture images into one.
Environment mapped bump mapping
Often referred to as EMBM, the characteristic features of this type of bump mapping are:
- It integrates texture, bump, or environment maps.
- It applies the shifted environment map to the texture map.
- It combines the bump and environment maps after it.
Both of these types help in changing the dimensionality and appearance of the surface normal of the 3D object by adding different characters and details, including, but not limited to:
All these remove the smoothness of the surface and make it look more attractive.
What Does Bump Mapping Do?
Bump mapping typically creates illusions of texture and depth in computer graphics while using a model with a three-dimensional surface. It creates these textures artificially on the surface of the 3D objects by means of a set of grayscale.
In addition to that, bump mapping also does a whole lot of other things, which include but are not limited to the following:
- It typically manipulates the height by using grayscale.
- It also creates modest lighting tricks instead of creating individual cracks and bumps manually.
- It reduces the vertex amount of a mesh.
- It simulates finer details on the surface of the object to make it look more realistic.
- With actual height alterations, it changes the geometry of the surface and the light calculations so that it does not look flat anymore.
In short, bump mapping makes an image look more realistic, which helps enhance the visual pleasure of the user while working with images or playing games on computers.
Bump Mapping Vs Normal Mapping
- In bump mapping, only a black to white map is used to comprehend the depth. On the other hand, in normal mapping, RGB input is used, which corresponds to the X, Y, and Z axis.
- In bump mapping, the information available is not much. On the other hand, in normal mapping you will get a lot of information.
- You will not get a precise bump effect with bump mapping, but in comparison, normal mapping produces just the correct bump effects.
- The renderings in bump mapping are not as believable or realistic as the renderings in normal mapping.
- In bump mapping, a grayscale image is imposed, but in comparison, in normal mapping the RGB scale is used.
- In bump mapping, the grayscale results in dark spots to appear and offer contrast to the lighter bumps. But, in normal mapping, the RGB scale derives a 3D vector normal to a 3D surface to create shadows and highlights.
- In bump mapping, the interaction of the rendered light on the surface seems quite limited in comparison to that in normal mapping.
- Through bump mapping a renderer can know which area of the surface is darker and which is brighter. On the other hand, in normal mapping the artificial surface normally relates to the rest of the 3D surface.
- In bump mapping, the output does not depend on the direction of the source of light. But, in normal mapping, the way the texture should interact depends on the light source rendered and is dictated mathematically.
- A bump map typically falters while viewing the textured objects from different angles. On the other hand, in normal mapping, it seems to have smooth geometrical shape with detailed texture of the surface from all sides.
- The perceived texture in bump mapping will usually not interrelate with the environmental light in a credible way, as opposed to normal mapping.
- In bump mapping, the color transition at the normal vector axis is white. On the other hand, in normal mapping, the color transition at the normal vector axis is blue.
- In bump mapping, the color transition at the tangent vector axis is black. On the other hand, in normal mapping, the same is red.
- In bump mapping, there is no third component and therefore there is no color transition in the bitangent vector axis. On the other hand, in normal mapping, the color transition at the bitangent vector axis is green.
- In bump mapping, the surface normal in a 3D global space is not well defined. On the other hand, in normal mapping, it is.
- In bump mapping, the normal to global cartesian space has no component and therefore it may result in highlights where shadows are expected. But, in normal mapping, the light source is fixed in cartesian world space.
- Ideally, it is the height that is manipulated in bump mapping with the use of a set of grayscales. On the other hand, it is the light on the surface that is manipulated in normal mapping with the use of RGB.
- In bump mapping, multiple texture samples are necessary. On the other hand, in normal mapping, such samplings are not required.
- The output of bump mapping is not as fast as the output you would get in normal mapping.
- The bump mapping process is not as versatile as the normal mapping process to define the details and include them as parts in the environment with an intention to view them up close.
- Bump mapping is best used for objects that are small as well as for background surfaces. On the other hand, normal mapping is best used when you want a texture that will respond well to movement.
- In terms of power, bump mapping is not as powerful as normal mapping.
- Bump mapping will not be able to deliver the same fantastic visual effect at the same minimum rendering cost as normal mapping would.
- There is only one channel used in bump mapping, but in comparison, in normal mapping three separate channels are used.
- The illusions created by bump mapping are pretty obvious when it is used too blatantly. On the other hand, the illusions created by normal mapping are much stronger and more realistic.
- Ideally, bump mapping represents only ups and downs. On the other hand, normal mapping manipulates the normal in every possible direction.
- Bump mapping is good to use only for adding a little and subtle supplement to the surface. On the other hand, normal mapping is good to use to make a low polygonal model appear to be highly detailed.
So, now you know that bump mapping refers to the process of adding a texture or a texture map on the 3D surfaces in computer graphics.
You also know about its different types, its uses and methods used to create the textures on the smooth surface of a 3D object.