2011-05-19 81 views
3

这有点作弊,因为标题中实际存在两个问题。Opengl ES如何在运行时导入3D模型和贴图纹理

关于如何导入3D模型我想我可以通过这一点的帐户。

但是,我的问题是:我可以在运行时将纹理映射到导入的模型吗?

是不是叫做UV-Mapping?

三维模型基本上是一个球体,使用OpenGL ES生成球体更好吗?

但是,我如何映射纹理呢?

对不起,大多数的基础知识。

+0

我不能回答,我什么都不知道iPhone上的工具,但你想要的是紫外线映射,是的。至于“一代”,我不知道它是否“更好”,但如果你真的拥有一个领域,实现起来会更简单。 – Calvin1602 2011-05-19 14:09:06

回答

4

你使用直OpenGL还是引擎?如果你使用引擎,其中一些可能已经为你解决了。

如果你使用直线OpenGL,你必须记住它仅仅是一个渲染API。所以你仍然必须自己做很多腿部的工作。

要导入你必须

  • 3D模型建立某种形式的网格数据结构的
  • 写加载程序(OBJ文件格式是一个很好的地方开始),这需要一个文件,将其加载到您的数据结构中
  • 编写将呈现您已加载的数据并将其呈现出来的呈现代码。

是的,你可以纹理映射你的网格。你需要的是纹理(UV)坐标。这些基本上将网格中的顶点映射到2D纹理上的位置。想象一个球体模拟地球,UV坐标将顶点映射到地球2D地图上的特定位置。

您或许可以使用generate those获得3D球体的代码,但建模软件包也可以帮助您,特别是对于更复杂的3D对象。对于某种视觉介绍,看看这个与Blender相关的tutorial on UV mapping

关于纹理和纹理映射的OpenGL ES教程可以在here找到。

3

你可以用两种方式

  • loader解析所有顶点 和纹理坐标加载3D模型。
  • 使用blender to export您的模型 作为头文件。

然后加载模型和纹理应用..

您的信息

阅读这些tutorials ..

我希望这可以帮助你......