OpenGL-法线贴图(Normal Mapping)
背景 在一个平面上如果只有一个法线,整个面的光照强度都是相同的,如果是凹凸的表面,无法表现表面的真是光照效果,所以引入了法线贴图。平面内的每一个fragment都存储一个法线向量,通过法线向量计算切线向量和副切向向量。 已知上向量是表面的法线向量。右和前向量是切线(Tagent)和副切线(Bitangent)向量。下面的图片展示了一个表面的三个向量: 计算原理 计算每个表面的切线和副切线可以参照https://learnopengl-cn.github.io/,主要计算过程如下: 顶点: V3N3UV2 verts[] = { { 0.5f, -0.5f, 0.5f , 1.0, 0.0, 0.0, 0.0f, 0.0f }, { 0.5f, -0.5f, -0.5f , 1.0, 0.0, 0.0, 1.0f, 0….