I have been studiing tangent space calculations and came across two solutions
E. Lengyel - http://www.terathon.com/code/tangent.html
ShaderX5 solution - (solution is also desribed here http://www.thetenthplanet.de/archives/1180)
What is the difference between tangent computed one or another way? Lengyel solution seems "easier" but I am no quite sure of its orthogonality to the normal vector of the tangent plane.