En una Matriz TBN, ¿son los vectores normal, tangente y bitangente siempre perpendiculares?
Esto está relacionado con un problema descrito en otra pregunta (imágenes allí):
Problemas de sombreado de Opengl - artefactos de reflexión de luz extraños
Tengo un importador .obj que crea una estructura de datos y calcula las tangentes y bitangentes. Aquí están los datos para el primer triángulo en mi objeto:
Mi comprensión del espacio tangente es que los puntos normales hacia afuera del vértice, la tangente es perpendicular (¿ortogonal?) Al vector normal y los puntos en la dirección de S positiva en la textura, y el bitangente es perpendicular a ambos. No estoy seguro de cómo se llama, pero pensé que estos 3 vectores formaban lo que se vería como un eje x, y, z girado o transformado. Ellos no serian 3al azar vectores orientados, ¿verdad?
También mi comprensión: las normales en un mapa normal proporcionan un nuevo vector normal. Pero en los mapas de textura de espacio tangente no hay una orientación integrada entre la codificación normal rgb y la normal por vértice. Por lo tanto, utiliza una matriz TBN para cerrar la brecha y colocarlas en el mismo espacio (u obtener la iluminación en el espacio correcto).
Pero luego vi los datos del objeto ... Mi estructura tiene 270 vértices y todos ellos tienen un 0 para la Tangente Y. ¿Es eso correcto para los datos de la tangente? ¿Son estas tangentes en un espacio de vértice normal o algo así? ¿O simplemente se ven completamente mal? ¿O estoy confundido acerca de cómo funciona esto y mis datos son correctos?
Para acercarme más a la solución de mi problema en la otra pregunta, necesito asegurarme de que mis datos son correctos y mi comprensión de cómo funciona la matemática de iluminación de espacio tangente.