如何使用phong着色实现凹凸贴图

时间:2014-10-16 10:31:47

标签: qt opengl glsl

在片段着色器中,我在视图坐标轴系统中具有法向矢量,该系统从3D模型读取并且从凹凸纹理获得凹凸法线矢量。 如果我想获得漫反射因子和镜面反射因子。我只是简单加上这两个正常或做其他事情吗?

1 个答案:

答案 0 :(得分:1)

实时使用的最常见的法线贴图技术,需要预先计算每个顶点的切线双切线矢量,作为法线向量的加法。

在得到法线,切线,副法线向量之后,创建一个矩阵(比方说TBN)从视图空间转换为模型的切线空间

所以(顶点着色器中的 )使用TBN矩阵将光矢量和眼睛矢量(Lambert漫反射术语和Phong反射所需)转换为切线空间;

例如(在片段着色器中)漫反射项将是D = L点N; (其中L是切线空间中的光位置,N是从法线贴图纹理中提取的法线矢量)。

您可以找到详细的教程:here