到目前为止,我遇到的唯一法线贴图是已经存在于世界空间中的地图,所以我只是从纹理中提取信息并使用普通矩阵对其进行转换。
现在我想尝试使用切线空间中的法线贴图,但我立刻感到非常困惑。
我的代码到目前为止
顶点着色器
...
passedPosition = modelViewMatrix*vec4(vertexPosition,1.0);
...
片段着色器
vec3 V = normalize(-passedPosition .xyz); // Eye vector
...
vec3 L_dir = passedPosition .xyz - lights[i].lightPosition.xyz;
vec3 L = normalize(L_dir);
...
然后继续我的灯光计算。
我遇到的所有教程都将所有光线方向和视图矢量更改为切线空间(在顶点共享中),然后从纹理中提取法线并继续(在片段中)。 我的问题是,我想避免访问顶点共享中的所有灯光信息,所以我的问题是: