W TBN macierz to wektory normalne, styczne i bitangentne zawsze prostopadłe?

Jest to związane z problemem opisanym w innym pytaniu (obrazy tam):

Problemy z cieniowaniem Opengl - dziwne artefakty odbicia światła

Mam importera .obj, który tworzy strukturę danych i oblicza styczne i bitangenty. Oto dane dla pierwszego trójkąta w moim obiekcie:

Moje rozumienie przestrzeni stycznej jest takie, że normalne punkty na zewnątrz od wierzchołka, styczna jest prostopadła (prostopadła?) Do wektora normalnego i wskazuje w kierunku dodatniej S w teksturze, a bitangent jest prostopadły do ​​obu. Nie jestem pewien, jak to nazywacie, ale pomyślałem, że te 3 wektory utworzyły coś, co wyglądałoby jak obrócona lub przekształcona oś x, y, z. Nie będą 3losowo zorientowane wektory, prawda?

Również moje zrozumienie: normalne na normalnej mapie zapewniają nowy normalny wektor. Ale w mapach stycznej tekstury przestrzennej nie ma wbudowanej orientacji między zakodowanym rgb normalnym a normalnym wierzchołkiem per. Używasz więc macierzy TBN, aby wypełnić lukę i umieścić je w tym samym miejscu (lub uzyskać oświetlenie w odpowiednim miejscu).

Ale potem zobaczyłem dane obiektu ... Moja struktura ma 270 wierzchołków i wszystkie mają 0 dla Stycznej Y. Czy to jest poprawne dla danych stycznych? Czy te styczne są jak normalna przestrzeń wierzchołka czy coś takiego? Czy po prostu wyglądają zupełnie źle? Czy jestem zdezorientowany, jak to działa, a moje dane są prawidłowe?

Aby zbliżyć się do rozwiązania mojego problemu w drugim pytaniu, muszę się upewnić, że moje dane są prawidłowe i że rozumiem, jak działa matematyka oświetlenia stycznego.

questionAnswers(1)

yourAnswerToTheQuestion