Ответ: Xors3D. Шейдеры. Урок первый
Нормаль обычно перпендикулярна поверхности.
Тангент перпендикулярен нормали и бинормали, и паралелен Y координате в текстурных координатах.
Бинормаль, перпендикулярен нормали и тангенту, и паралелен X координате в текстурных координатах.
Это нужно для того чтобы взять нормал карту (текстуру), извлечь из неё X и Y смещение, но оно же локально на текстуре, и далее используя нормаль, тангент и бинормаль, повернуть этот полученный вектор смещения из локального пространства в мировое.
Чтобы можно было уже далее использовать эти данные с другими, например вектором луча света от источника света, который тоже в мировом пространстве.
Любые операции над любыми данными, нужно производить в одном пространстве, это может быть локальное (local), мировое (world) или экранное (screen). Если какие-то данные в другом пространстве, то нужно их трансформировать в нужное, и для этого порой хватает только матрицы трансформации (local > world), проекционной матрицы (world > screen), а для текстурных, таких как нормал карта, нужны tbn (tanget, binormal, normal)
|