法線的空間變換的原理

一、法線的空間變換原理(源於Shader入門精要中介紹:)
在這裏插入圖片描述在這裏插入圖片描述

由此得到三個重要公式:

1、如果要對法線做空間轉換,需要法線向量右乘矩陣的逆轉置矩陣。

2、如果是正交矩陣,則直接右乘轉換矩陣:NB=MA->BNA
(注:正交矩陣M定義是MTM=I,即M的各行向量爲相互垂直的單位向量,各列向量也是互相垂直的單位向量)
3、如果不是正交矩陣,但是統一縮放矩陣,則可以直接右乘轉換矩陣和縮放係數的倒數:NB=(MA->BNA)/k

二、關於利用切線空間TBN進行法線轉換:

假設已知切線空間TBN,切線空間的法線Nt,計算世界空間下的法線Nw?

由於TBN是正交矩陣,所以Nw * TBN = Nt;

兩邊左乘TBN-1,Nw=TBN-1 * Nt=NtT * (TBN-1)T;

因爲正交矩陣的逆轉置矩陣等於自身,所以Nw=Ntt * TBN;

發佈了49 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章