切线空间下的法线贴图的一点疑惑
切线空间,就是以法线为z轴,切线为x轴,副切线为y轴。
而切线空间的法线贴图存放的是法线向量,那法线不就是z轴么?根本就不需要存放向量值。
解惑:区分开顶点自身法线和法线贴图重映射的法线。
1) 切线空间z轴的那个法线指的是顶点自身的法线,就是shader中的输入NORMAL。
struct appdata
{
float4 vertex : POSITION;
float3 normal : NORMAL; //顶点法线
float4 tangent : TANGENT; //顶点切线
};
2) 法线贴图存放的法线,我们可以叫做切线空间下的法线映射向量,这样可能就不会搞混了。