Tangent space basis vector calculation


I’m wondering whether one should use the face normal for the tangent space transformation matrix for a given triangle, or should one try to calculate an ‘average’ transformation matrix at each vertex based on the connected triangles.

At first I thought that using a matrix based on the face normal would yield unwanted results (like with lighting), however, a second thought brought me to the conclusion that the reason for the unwanted results is that the normals at each face are not smooth. However, in the case of bump mapping, you could make the normals in the normal map smooth (even at the seams of the mesh), the only discontinuities lie in the transformation matrix, which seems like it wouldn’t matter, b/c it’s simply a change of basis (this is based on speculation at the moment).

If anyone has any thoughts on this/corrections to my argument, please let me know, because this has been bugging me all day.


First calculate them for each face, and then linearly interporate them over the mesh

Hello Dear,

 As far computation of normal vector for face or Vertices of triangle concerned, the later option is optimistic. Reason is that triagle behaves as a fragment of veritces and require a step more for normal of the face. 

second reason for vertex normal and apply shading is that it provides more realistic look.

Hope u will be close to answer.

take care