我正在使用OpenMesh来处理三角形网格。
我已经完成了网格参数化以设置顶点texcoord,我对顶点texcoord的整体理解是从那里开始的。如果我没有弄错,它应该是顶点的可变值
但现在我想计算每个顶点的切线空间,所有教程都谈论“顶点texcoord”,就像它是顶点的固定属性一样。
这是我读过的一个tutorials,它说的是
如果我们正在处理的网格没有texcoord,我们将跳过Tangent Space阶段,因为无法在代码中创建任意UV Map,UV Maps是设计依赖项并改变纹理的方式是的。
那么,“texcoord”在计算切线空间时应该具有什么属性 谢谢!
答案 0 :(得分:0)
目前还不清楚你在问什么,所以希望这有助于你理解。
每个顶点的纹理坐标(texcoord)在模型设计阶段设置并加载网格。它包含顶点在纹理中映射到的UV坐标。
切线空间由每个点处的法线,切线和副法线矢量构成。法线要么加载网格,要么可以根据连接值计算。切线是texcoord的U坐标变化最大的方向,即模型 - 空间位置的偏导数U.因此可以基于模型连通性和每个顶点的先验给定texcoords来计算。 。从分析上来说,通过正确的实现,它将与正常情况垂直。副法线只是垂直于法线和切线的向量,因此通过两者的简单交叉积来计算。