Editor's note: This article originally appeared at Kristof's own site in May of 1998 and is reprinted here by permission with minor formatting changes.


Introduction

Bump Mapping is one of the new features that every piece of 3D hardware out there wants to support. But how are they doing it and at what cost. Is Voodoo2 in the Donut Demo really doing Bump Mapping "for free" as the Voodoo2 fans claim or is there a CPU and fill rate penalty and further how correct are those implementations ?

What is Bump Mapping?

Bump Mapping is a technique to give an object more detail without adding more polygons. Its a way of simulating small bumps on the surface by changing the way the light effects are calculated. A bump will usually have one side that is bright from a light source while the other side is dark because it is on the shadow side. Bump Mapping modifies the light calculations to make this happen. So its important to know that Bump Mapping does not change the surface of the object it only changes the way light is reflected by the surface. There are various ways to create these light effects and they are described in the next paragraph.

Different implementations?

On the following pages we shall examine four different implementations of Bump Mapping.