OpenGL 着色器中的凹凸贴图通常在切线空间
中完成,其中法线、切线和副法线作为基向量。
根据我的书OpenGL着色语言,要求基向量在对象表面上一致定向
,以便照明方程正确插值。它还定义了一致,意味着与法线贴图纹理坐标一致。
因此,给定任意网格的顶点位置、法线和法线贴图纹理坐标,如何计算一致的切向量?
最佳答案
计算切线和双切线向量,以便它们根据纹理坐标正确定向,并正确匹配法线实际上相当复杂。
我过去使用过的一个很好的代码示例是: http://www.terathon.com/code/tangent.html
Crytek 也有关于此主题的演示。它们的实现还解决了切线空间计算的许多常见问题: http://crytek.com/cryengine/presentations/triangle-mesh-tangent-space-calculation
关于opengl - 如何计算网格表面上一致的切向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11352138/