将OBJ模型转换为.h文件给Xcode使用
2017-05-09 21:33
323 查看
参考:http://heikobehrens.net/2009/08/27/obj2opengl/ (英文版的 这里为翻译成中文的作为学习记录
每当您想要使用3D软件(如搅拌器,3ds
max或4D影院)在iPhone应用程序或任何其他OpenGL项目中建模时,您都必须使设计的数据可以访问您的程序。为此,您可以加载和解释模型保存的文件,也可以直接提供程序期望的内存中所需的内容。
OBJ2OPENGL做后者,并且作为从模型文件转换为C / C 标头的转换器,它将面部,法线和纹理坐标的顶点描述为简单的浮点数组。
iPhone上有8,056个面部的纹理化和照明3D模型
OBJ2OPENGL是一个Perl脚本,读取描述3D对象的Wavefront
OBJ文件,并以适合与OpenGL ES一起使用的形式写入描述对象的C / C ++包含文件。它与Objective
C和iPhone SDK的库兼容。
这个脚本的原始想法和代码基础来自Margaret
Geroch,他很乐意让我改进和重新发布这个版本。它现在支持纹理映射和存储法线(而不是重新计算它们)。我已经将生成的数组的结构改为使用glDrawArrays而不是glDrawElements。对于法线和纹理来说,这是特别需要的,其中顶点保留某些形状的不同信息。此外,此版本还包括几个命令行选项,以更好地控制其行为(例如缩放和移动原点或设置对象和输出文件的名称)。
如果您可以使用默认值进行转换,那么简单
要包括转换的对象,你需要做的就是
这两个模型和生成的样本输出包含在提供的存档中:
如何下载这个转换工具: http://heikobehrens.net/2009/08/27/obj2opengl/最下面有提供下载
如下:
OBJ2OPENGL.ZIP(脚本和示例)
OBJ2OPENGL.PL
每当您想要使用3D软件(如搅拌器,3ds
max或4D影院)在iPhone应用程序或任何其他OpenGL项目中建模时,您都必须使设计的数据可以访问您的程序。为此,您可以加载和解释模型保存的文件,也可以直接提供程序期望的内存中所需的内容。
OBJ2OPENGL做后者,并且作为从模型文件转换为C / C 标头的转换器,它将面部,法线和纹理坐标的顶点描述为简单的浮点数组。
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.obj | cube.h | 8 | 6 | |
banana.obj | banana.h | 了banana.jpg | 4,032 | 8056 |
如下:
下载
OBJ2OPENGL.ZIP(脚本和示例)OBJ2OPENGL.PL
相关文章推荐
- DirectX-3d中.x模型转换成three.js可用的obj文件或者js文件
- OpenGL ES 学习教程(六) 使用开源库 Assimp 将 Obj 模型 转换成自己的格式
- 使用 objcopy把图片文件转换为 ELF格式的 obj 文件
- 如何使用Blender将点模型的obj文件渲染成网格模型
- OpenGL ES 学习教程(六) 使用开源库 Assimp 将 Obj 模型 转换成自己的格式
- DirectX11 With Windows SDK--19 模型加载:obj格式的读取及使用二进制文件提升读取效率
- 使用.x文件模型(2) (转载)
- 使用.x文件模型(3) (转载)
- 转载:如何使用XCodeFactory自动生成XML配置文件和对应的解析类
- 使用ffmpeg转换文件格式,及ffmpeg参数说明
- 使用 JTidy 将 HTML 文件转换成 XML
- 关于ply, obj, 3ds 等三维模型文件的Loader
- 使用.x文件模型(1) ( 转载 )
- 使用.NET事件模型通知文件拷贝进度
- NO.23 使用openssl-0.9.8b将CER、PFX转换成PEM文件(含openssl Win64环境安装过程)
- 使用libjpeg(jpeg-6b)库在内存中转换jpeg文件(不修改源代码)
- 使用jacob+SAPI5.1实现将将文字转换为语音播放并可存储到.wav文件
- 使用ffmpeg进行视频文件转换成FLV整理
- 使用“代码文档对象模型”(CodeDOM) 生成源代码和可执行文件。
- 使用mencoder转换佳能数码相机录像文件的最佳参数