# Problem computing tangent on a vertex (with changing texture direction)

This topic is 2037 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi,

First here is a picture to present my problem :

[sharedmedia=core:attachments:9558]

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 [url="http://www.terathon.com/code/tangent.html"]http://www.terathon....de/tangent.html[/url])

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).

##### Share on other sites
Yes, mirrored textures are a common problem and some engines even don't handle this case (udk3?). Best to split your vertices along the mirrored edge, you will most likely already split vertices when you don't share the same uv or encounter [i]hard [/i]edges.

##### Share on other sites
Thanks for the reply. That is what I thought ... well ... time to review my mesh reader then, to split those vertices ;)

By the way thanks for the link in your signature (on transparency in deferred shader), I'll soon need it I think