Surface detail with respect to lighting is a long studied issue with tons of research behind it. Techniques like detail mapping, parallax mapping, tessellation and displacement mapping all exist primarily to solve this issue and make a surface come to life. One of the most standard methods used to introduce lighting detail to surfaces is through normal mapping. Normal mapping is the technique of skewing a surface’s per-pixel normals (used in computing lighting terms) to emulate the effect of lighting moving over small surface cavities. The effect has quite a dramatic impact on the look and feel of a game, though it is often heavily abused. Below is my implementation of the normal mapping technique working along with the Phong lighting model.