In 3D texturing, the core difference between bump maps and normal maps lies in how they simulate surface details: bump maps use grayscale values to represent height variations, while normal maps use RGB color channels to encode surface normal directions.
Bump maps create the illusion of depth by adjusting light/dark areas based on grayscale intensity. Lighter values appear raised, darker ones indented, making them ideal for simple height-based details like surface roughness or subtle indentations.
Normal maps, however, store precise surface orientation data in RGB channels (each channel corresponding to X, Y, Z axes). This allows them to calculate how light interacts with the surface more accurately, enabling realistic light reflection and better support for complex, angled details such as creases, small protrusions, or curved surfaces.
