我正在使用Kinect face,它为要渲染的三角形提供一系列顶点和索引,以生成人脸图像。
顶点的no和它们在数组中的顺序以及kinect给出的指数都是常数。
然而,api没有提供有关UV数据和顶点法线的信息。
应用程序要求我保持由kinect给出的顶点顺序,因为它们在三维空间中的位置随面部移动而变化,所以在三维编辑软件中生成uv和法线是不可能的。
我通过将顶点位置投影到2D平面来产生紫外线,因为同一平面上很少有顶点。
然而,我不知道如何为网格生成顶点法线,如果没有顶点法线,人脸网格就会绘制出没有深度的特征,尽管剪影是可见的,因为顶点位置是正确的。
我知道,由于没有顶点法线,照明将不能正确地工作在它上,因此,苍白无特征的网格,它现在看起来。
那么,如何生成顶点法线,当我只有顶点的位置和顶点的索引时,才能把它做成三角形呢?
发布于 2022-11-05 16:50:55
盖伊的答案是正确的,但不完整,这是如何创建表面法线,而不是顶点法线。要创建顶点法线,请查看这篇文章,查看cyfex的答案。应该是第二个。https://gamedev.stackexchange.com/questions/133864/calculating-vertex-normals-in-opengl-c?newreg=310c1117667f4ec99cd28866d3a49149
https://computergraphics.stackexchange.com/questions/4031
复制相似问题