关于线性变换的文章可以看我的上一篇文章:https://editor.csdn.net/md/?articleId=124002035
本文章不会介绍什么是凹凸贴图/法线贴图。这里有讲什么是凹凸贴图:https://learnopengl-cn.github.io/05%20Advanced%20Lighting/04%20Normal%20Mapping/
切线空间
切是指相切与三角形面片的平面,即三角形面片所在平面。切线空间就是T,B,N三个向量构成的向量空间,如果你不理解什么是向量空间,那理解成是这三个向量或者[T,B,N]矩阵即可。
T,B,N是什么?
T,B是三角形面片所在平面即切平面上的不相交向量,N是切平面的法向量(在建模的时候会得到)。
为什么会是这样子?从法线贴图的定义可以得到答案。在法线贴图中(0,0,1)是指向我们的法向量,对应到三角形就是垂直三角形面片的向量,这正好就是我们建模时得到的该面片法向量。看矩阵乘法,[T,B,N][0,0,1]T 得到的就是N,即我们的目标法向量。这就是为什么是N。那么T,B是什么?假设我们采样得到法向量(1,2,1),它的意义就是在N的基础上往T的方向歪一个|T|,往B的方向歪一个|B|,最终的结果就是较N有所偏离。这正是法线贴图里面每个法线都有所偏移的体现。
明天再写剩下的