In the TBN matrix, are normal, tangent, and bitagen vectors always perpendicular?

This is due to the problem described in another question (images there):

Opengl Shader Issues - Unusual Light Reflection Artifacts

I have a .obj importer that creates a data structure and computes tangents and binents. Here is the data for the first triangle in my object:

Data structure

My understanding of tangent space is that the normal is directed outward from the vertex, the tangent is perpendicular (orthogonal?) To the normal vector and points in the direction of the positive S in the texture, and the bitagent is perpendicular to both. I'm not sure how you call it, but I thought that these 3 vectors formed what would look like a rotated or transformed x, y, z axis. They would not be 3 randomly oriented vectors, right?

Also my understanding: the normals in a normal map provide a new normal vector. But in maps of tangent spatial textures there is no built-in orientation between the normalized rgb normal and the normal to the vertex. So you use the TBN matrix to bridge the gap and get them in the same space (or get the lighting in the right place).

... 270 , 0 Y. ? - ? ? , , ?

, , , , .

+3
1

S T (U V , OpenGL). , S T.

, , , . . , : . .

, S T- . , . , . , , .

+4

All Articles