Я прочитал много материала о карте высот и карте нормалей, и у меня много вопросов:
Мы можем сгенерировать карту нормалей из карты высот:
Если мы имеем в S и Tнаправление:
S(i,j)= <1,0,aH(i+1,j)−aH(i−1,j)>
T(i,j)= <0,1,aH(i,j+1)−aH(i,j−1)>
тогда мы можем вычислить нормальное значение N:
N(i,j)= (S(i,j) x T(i,j))normalize()
, затем мы сопоставим (Nx, Ny, Nz) с (r, g, b), это методмы используем, чтобы сгенерировать карту нормалей из карты высот.
Я пробовал это с несколькими картами высот и диффузной картой (преобразовать диффузную в градации серого как карту высот).Простые могут обеспечить относительно хорошую карту нормалей.Как только изображение становится более сложным, результат очень плохой.
Мои вопросы:
В какой системе координат находится этот нормальный вектор?
Я чувствую, что это просто на поверхности объекта и указывает на нормальное.Является ли это так называемым пространством TBN?
Но здесь нет информации о T и B.
Если t - касательное пространство, то для разных треугольников, у нас будет другой t, поэтому у другого треугольника будет другой вектор T / B / N?
Как рассчитать TBN по карте нормалей?Я немного запутался, читая книгу, и смотрю на эту матрицу:
s1,t1 = < s1 − s0,t1 − t0 >
s2,t2 = < s2 − s0,t2 − t0 >
| Tx Ty Tz | | s1 t1 | | Q1x Q1y Q1z |
| Bx By Bz | = inverse of | s2 t2 | | Q2x Q2y Q2z |
Что означают эти s2 и s1, я знаю (Q1x Q1y Q1z), они (x, y, z) также (r, g, b) значение из карты нормалей, s2 и s1 обозначает местоположение (x, y), местоположение пикселя на карте нормалей?