纹理映射在OpenGL ES上的一个复杂的对象

我没有太多关于openGL ES(或者openGL)的经验,但是我得到了纹理贴图的一般概念,每个顶点都应该映射到我们select映射的贴图的相关UV坐标。 但是当我有复杂的对象时会发生什么?

让我说我有着名的斯坦福兔子:

在这里输入图像描述

我想映射这个纹理:

在这里输入图像描述

计算图像上的所有顶点位置并不是很简单。 有没有已知的方法或最佳做法呢?

我应该从哪里开始关于这种映射?

谢谢!

这通常由艺术家使用诸如maya或3Ds max之类的应用程序来完成,其中艺术家可以手动地将UV点映射到图像上。

如果您想自动执行此操作,则可以使用其中一种已知方法生成UV,这些自动UV生成通常用作艺术家的起点。 例如,可以使用平面或球形纹理坐标生成,第一种方法是将顶点投影到平面上,并根据投影的顶点生成UV。 另一种方法是把它们投射到一个球体上。 还有其他方法,如投影在立方体上或使用光线投射。 方法的select取决于对象的形状,例如,人体可能以基于立方体的紫外线生成开始,因此人的每一侧都投影在立方体的一侧(也可能适用于斯坦福兔子)。 没有金色的子弹,这些algorithm通常只是艺术家的起点,除非你有一个系统的或程序的形状。