construct the two temp vectors (A and B) from the cross products of the
surface normal and the Pu and Pv surface partial derivatives. As I
understand it you create these two vectors in order to create a tangent
plane with respect to the surface at point P. Then you take these two
vectors and multiply them respectively by the s and t partial
derivatives from the bump map (Fs and Ft) to find the offset vector D for N.
Since the surface normal was created via the cross product of the
partial derivatives in the first place, couldn't you save time and
multiply the P/u, P/v partial derivative vectors directly with the s, t
partial derivative vectors from the texture map to find D?
A = N X P , B = N X P , and D = F A - F B
v u s t