法线的空间变换的原理

一、法线的空间变换原理(源于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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章