First here is a picture to present my problem :
I have two triangles (A, B, D) and (B, C, D) with the following texture coordinates (red arrows illustrate the texture "direction") :
A = (0, 0)
B = (1, 0)
C = (0, 0)
D = (1, 1)
I am calculating the tangent vector for these four vertices, for which i find (W used to store information about handedness) :
Tangent at A = (1, 0, 0, 1)
Tangent at B = (0, -1, 0, -1)
Tangent at C = (-1, 0, 0, -1)
Tangent at D = (0, -1, 0, -1)
(I am using the method described at http://www.terathon....de/tangent.html)
My problem is for B and D vertices. I understand why I found these tangent vectors (because of the changing direction of the texture at these vertices my tangents), but how can I resolve this issue. Do I have to "split" B vertex into B1 and B2 (and D vertex also) so that they can each have a correct tangent vector ? Or is there another solution (maybe I am missing something here ?).
(The objective is to do normal mapping, I have it working quite well but problems appear on those vertices where texture is changing direction. I am using Sponza Atrium model from CryTek).






