← Zpět do přednáškyPGA

1 / 1

Řešený tečný prostor a zrcadlené UV

  • Pro rovinnou bázi T=(1,0,0), B=(0,1,0), N=(0,0,1) je TBN jednotková matice. Dekódovaná normála zůstane stejná.
  • Na zrcadleném UV ostrově může být handedness záporné. Bitangentu určujeme B = sign · normalize(N × T), nikoli vždy stejným pevným znaménkem.
  • Pokud TBN po interpolaci není ortonormální, obecně neplatí, že transpozice je přesně inverze. Normálu po transformaci znovu normalizujeme.

Nejdřív odhad

Co se stane se směrem vycházejícím z kladné tečné y, když zapomeneme handedness?

Postup experimentu

  1. Zvol nₜ=(0; 0,6; 0,8). Jeho délka je jedna.
  2. Použij nejprve B=(0,1,0), potom B=(0,−1,0).
  3. Porovnej výsledné světové normály a skalární součin se stejným světlem.
N = normalize(N)
T = normalize(T - N * dot(N, T))
B = tangentSign * normalize(cross(N, T))
n = normalize(T * nt.x + B * nt.y + N * nt.z)
Kontrolní výsledek a vysvětlení

Správné výsledky jsou (0; 0,6; 0,8) a (0; −0,6; 0,8). Chybné znaménko převrátí orientaci detailu.