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
- Zvol nₜ=(0; 0,6; 0,8). Jeho délka je jedna.
- Použij nejprve B=(0,1,0), potom B=(0,−1,0).
- 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.