To help Gmask,
Normal mapping is mostly just a more complex bump map. If you think of a bump map on a plane, with the bump going up in Y, then 50% value will not appear to move the surface at all, value ranging to 0% will appear to make a hole or dent, and values up to 100% will be a bump.
Now if we apply that with 3 colours, RGB, instead of 1, we have Normal mapping.
I’m not sure which is which for direction, but we’ll assume it’s R=X, G=Y, and B=Z for now.
So the idea is that the value of G - if at 50%, does nothing, if anywhere down to 0% moves down the normal, and above 50% goes up the normal.
With Red, 50% does nothing, towards 0% it goes down in U, and up to 100% it goes up in U.
With Blue, 50% does nothing, towards 0% it goes down in V, and up to 100% it goes up in V.
So you essentially have the 3 quardinates nessessary, in pixel space to define any form.