使用 OpenGL 进行纹理映射后出现奇怪的结果
Strange result after Texture Mapping with OpenGL
步骤:在 2D 图像上找到 68 个地标(使用 dlib)
所以我知道每个地标的所有 68 个坐标!
创建普通人脸的 3D 蒙版(使用 OpenGL)-> 结果
我也知道人脸模型的所有3d坐标!
- 现在我想使用 this Tutorial 将所有三角形从 2d 图像纹理映射到 3D 通用面部模型
有谁知道我的问题的答案吗?如果您需要更多信息,请给我留言,我会向您发送您需要的信息。谢谢大家!
编辑:在找到 this tutorial 之后,我更改了图片的大小以获得宽度和高度,它们是 2 的幂。
然后将我所有的图片坐标(地标)除以大小:
地标(x)/高度和地标(y)/宽度
图片:
结果:
宽度和高度越大,图像清晰度越好!
您所看到的看起来像是您将所有顶点直接传递给 glDrawArrays
而没有任何重复使用。所以每个顶点都用于结果中的单个三角形,而不是用于原始图片中的 6 个或更多三角形。
你需要使用一个元素缓冲区来描述你所有的三角形是如何由你拥有的顶点组成的,并使用glDrawElements
来绘制它们。
另请注意,原始图像上的某些多边形实际上不是三角形。您可能希望为这些多边形(眼睛内部)插入额外的三角形。
步骤:在 2D 图像上找到 68 个地标(使用 dlib) 所以我知道每个地标的所有 68 个坐标!
创建普通人脸的 3D 蒙版(使用 OpenGL)-> 结果
我也知道人脸模型的所有3d坐标!
- 现在我想使用 this Tutorial 将所有三角形从 2d 图像纹理映射到 3D 通用面部模型
有谁知道我的问题的答案吗?如果您需要更多信息,请给我留言,我会向您发送您需要的信息。谢谢大家!
编辑:在找到 this tutorial 之后,我更改了图片的大小以获得宽度和高度,它们是 2 的幂。 然后将我所有的图片坐标(地标)除以大小: 地标(x)/高度和地标(y)/宽度
图片:
宽度和高度越大,图像清晰度越好!
您所看到的看起来像是您将所有顶点直接传递给 glDrawArrays
而没有任何重复使用。所以每个顶点都用于结果中的单个三角形,而不是用于原始图片中的 6 个或更多三角形。
你需要使用一个元素缓冲区来描述你所有的三角形是如何由你拥有的顶点组成的,并使用glDrawElements
来绘制它们。
另请注意,原始图像上的某些多边形实际上不是三角形。您可能希望为这些多边形(眼睛内部)插入额外的三角形。