Graphics 法线和切线到达像素/片段着色器时如何仍然正交?
我直觉地认为,如果你从两个正交向量线性插值到另两个正交向量,那么得到的两个向量也会相互正交。我假设如果你有基轴X,Y,Z,它们是相互正交的单位向量,你可以通过旋转进行插值,结果仍然是三个正交向量。显然 所以我的计划是平均切线和法线以创建平滑外观是不可能的。然而我只是想,当顶点着色器向片段/像素着色器发送值时,它们会被赋予“线性插值”值,对吗?这意味着如果我有正交的法线和切线向量,当它们到达片段/像素着色器时,它们不再相互正交,对吗?这不是个问题吗Graphics 法线和切线到达像素/片段着色器时如何仍然正交?,graphics,fragment-shader,vertex-shader,Graphics,Fragment Shader,Vertex Shader,我直觉地认为,如果你从两个正交向量线性插值到另两个正交向量,那么得到的两个向量也会相互正交。我假设如果你有基轴X,Y,Z,它们是相互正交的单位向量,你可以通过旋转进行插值,结果仍然是三个正交向量。显然 所以我的计划是平均切线和法线以创建平滑外观是不可能的。然而我只是想,当顶点着色器向片段/像素着色器发送值时,它们会被赋予“线性插值”值,对吗?这意味着如果我有正交的法线和切线向量,当它们到达片段/像素着色器时,它们不再相互正交,对吗?这不是个问题吗 插值后法线和切线可能不正交 这是因为插值是插值位
t = cross(b,n)
b = cross(n,t)
t=normalize(t);
b=normalize(b);
n=normalize(n);
然而,在大多数情况下,非正交性并不是那么糟糕,而且这些东西都能工作
也没有这个步骤