将OBJ模型转换为.h文件给Xcode使用

参考:http://heikobehrens.net/2009/08/27/obj2opengl/  (英文版的 这里为翻译成中文的作为学习记录

每当您想要使用3D软件(如搅拌器3ds max4D影院)在iPhone应用程序或任何其他OpenGL项目中建模时,您都必须使设计的数据可以访问您的程序。为此,您可以加载和解释模型保存的文件,也可以直接提供程序期望的内存中所需的内容。

OBJ2OPENGL做后者,并且作为从模型文件转换为C / C 标头的转换器,它将面部,法线和纹理坐标的顶点描述为简单的浮点数组。


iPhone上有8056个脸部的纹理化照明3D模型

iPhone上有8,056个面部的纹理化和照明3D模型

OBJ2OPENGL是一个Perl脚本,读取描述3D对象Wavefront OBJ文件,并以适合与OpenGL ES一起使用的形式写入描述对象的C / C ++包含文件。它与Objective C和iPhone SDK的库兼容。

这个脚本的原始想法和代码基础来自Margaret Geroch,很乐意让我改进和重新发布这个版本。它现在支持纹理映射和存储法线(而不是重新计算它们)。我已经将生成的数组的结构改为使用glDrawArrays而不是glDrawElements对于法线和纹理来说,这是特别需要的,其中顶点保留某些形状的不同信息。此外,此版本还包括几个命令行选项,以更好地控制其行为(例如缩放和移动原点或设置对象和输出文件的名称)。

如果您可以使用默认值进行转换,那么简单

./obj2opengl.pl banana.obj

要包括转换的对象,你需要做的就是

// include generated arrays 
#import“banana.h” 
//将输入数据设置为数组
glVertexPointer(3,GL_FLOAT,0,bananaVerts); 
glNormalPointer(GL_FLOAT,0,bananaNormals); 
glTexCoordPointer(2,GL_FLOAT,0,bananaTexCoords); 
//绘制数据
glDrawArrays(GL_TRIANGLES,0,bananaNumVerts);

例子

这两个模型和生成的样本输出包含在提供的存档中:

输入产量质地顶点
cube.objcube.h 86
banana.objbanana.h了banana.jpg4,0328056


如何下载这个转换工具:

http://heikobehrens.net/2009/08/27/obj2opengl/最下面有提供下载

如下:

下载


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值