Opengl “什么财产?”;vertex texcoord“;计算切线空间时应具有

Opengl “什么财产?”;vertex texcoord“;计算切线空间时应具有,opengl,math,3d,openmesh,Opengl,Math,3d,Openmesh,我正在使用OpenMesh处理三角形网格 我已经做了网格参数化来设置顶点texcoord,我对顶点texcoord的全部理解就是从这里开始的。如果我没有弄错的话,它应该是一个可变的顶点值。 但现在我想计算每个顶点的切线空间,所有教程都在讨论“顶点texcoord”,就像它是顶点的固定属性一样。 我看了一本,上面写着 如果我们正在处理的网格没有texcoord,我们将跳过切线空间阶段,因为不可能在代码中创建任意UV贴图,UV贴图依赖于设计,并随着纹理的生成而改变方式 那么,“texcoord”在计

我正在使用OpenMesh处理三角形网格
我已经做了网格参数化来设置顶点texcoord,我对顶点texcoord的全部理解就是从这里开始的。如果我没有弄错的话,它应该是一个可变的顶点值。
但现在我想计算每个顶点的切线空间,所有教程都在讨论“顶点texcoord”,就像它是顶点的固定属性一样。
我看了一本,上面写着

如果我们正在处理的网格没有texcoord,我们将跳过切线空间阶段,因为不可能在代码中创建任意UV贴图,UV贴图依赖于设计,并随着纹理的生成而改变方式

那么,“texcoord”在计算切线空间时应该具有什么属性

谢谢大家!

现在还不清楚你到底在问什么,希望这能帮助你理解

每个顶点的纹理坐标(texcoord)在模型设计阶段设置并加载网格。它们包含顶点在纹理中映射到的UV坐标

切线空间由每个点的切线、双切线和法线(TBN)向量组成。法线可以使用网格加载,也可以通过平均顶点处相交三角形的法线来计算。切线是texcoord的U坐标变化最大的方向,即模型空间位置对U的偏导数。类似地,双切线是位置对V的偏导数。切线和双切线可以与每个面的法线一起计算,然后在顶点处求平均值,就像普通人一样


对于平面,切线和双切线通过构造与法线垂直。但是,由于顶点的平均值,它们可能不再垂直。即使对于平面,切线也可能不垂直于双切线(例如,想象一个倾斜的棋盘格纹理贴图)。然而,为了简化TBN矩阵的求逆,它有时用正交矩阵,甚至四元数来近似。即使此近似对倾斜贴图纹理无效,它仍可能给出合理的结果。假设正交时,可以将双切线计算为切线和法线之间的叉积。

可变值是什么意思?选择参数化后,每个顶点都会有一个特定的纹理坐标,可以用来计算切线空间。纹理坐标来自何处并不重要。无论是参数化(实际上,您需要可变纹理坐标)还是建模步骤。要计算切线空间,必须固定这些坐标。如果你改变它们,切线空间也会改变。谢谢你的回答,很抱歉这个模糊的问题。当我进行网格参数化时,使用不同的方法可以得到不同的结果和不同的texcoord。但当我学习切线空间时,它让我觉得texcoord是一个内置属性。现在清楚了。所以我可以使用任何参数化结果来计算切线空间。谢谢你的回答,很抱歉这个模糊的问题。当我进行网格参数化时,使用不同的方法可以得到不同的结果和不同的texcoord。但当我学习切线空间时,它让我觉得texcoord是一个内置属性。现在清楚了。所以我可以使用任何参数化结果来计算切线空间。