iOS 载入3d模型 OpenGL ES
2015-12-18 10:43
387 查看
转自:http://blog.csdn.net/wangyuchun_799/article/details/7861226
obj2opengl:转换OBJ 3D模型到iPhone OpenGL ES兼容的数组中
标签:
iphonefloatarrays脚本include工具
2012-08-13 17:22
7325人阅读 评论(1)
收藏
举报
分类:
Android(57)
iOS(61)
目录(?)[+]
任何时候你想在iPhone应用程序或其他任何OpenGL工程中使用如Blender,3ds Max 或Cinema
4D等软件制作的3D对象模型,都需要让你的程序去访问这些制作好的数据文件。要达到这个效果,你可以加载并解析本地保存的模型文件,或者干脆自己在内存中创建一个你想要表现的模型。
OBJ2OPENGL是一个将模型文件转换成C/C++头文件的转换器,转换后的头文件中包含存储面的顶点,法线,纹理坐标的简单的浮点型数组。
OBJ2OPENGL是一个将 Wavefront OBJ 3D模型文件转换成OpenGL ES可以使用的C/C++头文件的Perl脚本。转换后的头文件和Objective-C以及iPhone SDK库是兼容的。脚本的思路和代码都是基于Margaret
Geroch的,他允许我增强并重新发布这个版本。它现在支持纹理映射和存储法线(而不是重新计算)。我已经改变了产生的数组结构以使用glDrawArrays而不是glDrawElements。这对纹理和法线是非常有好处的。这个版本包含了几个可选的命令行工具,用来更好的控制它的行为(如缩放和平移原点,设置对象和输出文件名等)。
你可以简单的做一个默认的转换操作:
下载:
OBJ2OPENGL.ZIP (脚本和例子)
OBJ2OPENGL.PL
本人CSDN资源免费下载:obj2opengl.zip
本地预览.3DS、.OBJ、.MD2、.MD3、.MS3D、.X等模型文件,推荐使用supermodel 。这里有几个OBJ
3D示例模型,感兴趣的哥们可以下载使用。
本人在经过使用后发现真的很好用,非常方便,在本人的CSDN资源上上传了一个示例代码工程,需要的兄弟们可以去下载!工程中加入了纹理、旋转、平移和光照,包含OBJ文件和对应的纹理图片。注意在经过本人尝试后发现,JPG、GIF和PNG都是可以使用的纹理图片,而tga格式加载失败,所以还是使用PNG格式好一点。
obj2opengl:转换OBJ 3D模型到iPhone OpenGL ES兼容的数组中
标签:iphonefloatarrays脚本include工具
2012-08-13 17:22
7325人阅读 评论(1)
收藏
举报
分类:
Android(57)
iOS(61)
目录(?)[+]
原文如下:obj2opengl: convert obj 3D models to arrays compatible with iPhone OpenGL ES
obj2opengl在GitHub中的主页:https://github.com/HBehrens/obj2opengl
终于找到一个iPhone OpenGL ES转换和加载OBJ 3D模型的好工具了,感谢作者Heiko Behrens
原文翻译如下:任何时候你想在iPhone应用程序或其他任何OpenGL工程中使用如Blender,3ds Max 或Cinema
4D等软件制作的3D对象模型,都需要让你的程序去访问这些制作好的数据文件。要达到这个效果,你可以加载并解析本地保存的模型文件,或者干脆自己在内存中创建一个你想要表现的模型。
OBJ2OPENGL是一个将模型文件转换成C/C++头文件的转换器,转换后的头文件中包含存储面的顶点,法线,纹理坐标的简单的浮点型数组。
OBJ2OPENGL是一个将 Wavefront OBJ 3D模型文件转换成OpenGL ES可以使用的C/C++头文件的Perl脚本。转换后的头文件和Objective-C以及iPhone SDK库是兼容的。脚本的思路和代码都是基于Margaret
Geroch的,他允许我增强并重新发布这个版本。它现在支持纹理映射和存储法线(而不是重新计算)。我已经改变了产生的数组结构以使用glDrawArrays而不是glDrawElements。这对纹理和法线是非常有好处的。这个版本包含了几个可选的命令行工具,用来更好的控制它的行为(如缩放和平移原点,设置对象和输出文件名等)。
你可以简单的做一个默认的转换操作:
./obj2opengl.pl banana.obj要包含转换后的对象你必须这么做:
// include generated arrays #import "banana.h" // set input data to arrays glVertexPointer(3, GL_FLOAT, 0, bananaVerts); glNormalPointer(GL_FLOAT, 0, bananaNormals); glTexCoordPointer(2, GL_FLOAT, 0, bananaTexCoords); // draw data glDrawArrays(GL_TRIANGLES, 0, bananaNumVerts);
下载:
OBJ2OPENGL.ZIP (脚本和例子)
OBJ2OPENGL.PL
本人CSDN资源免费下载:obj2opengl.zip
本地预览.3DS、.OBJ、.MD2、.MD3、.MS3D、.X等模型文件,推荐使用supermodel 。这里有几个OBJ
3D示例模型,感兴趣的哥们可以下载使用。
本人在经过使用后发现真的很好用,非常方便,在本人的CSDN资源上上传了一个示例代码工程,需要的兄弟们可以去下载!工程中加入了纹理、旋转、平移和光照,包含OBJ文件和对应的纹理图片。注意在经过本人尝试后发现,JPG、GIF和PNG都是可以使用的纹理图片,而tga格式加载失败,所以还是使用PNG格式好一点。
OBJ2OpenGLES示例代码
顺便发几张截图:相关文章推荐
- 用CocoaPods做iOS程序的依赖管理
- iOS开发中打电话发短信等功能的实现
- 94个iOS开发资源推荐,帮你加速应用开发
- IOS多张图片合成一个视频
- IOS开发资料地址大全
- iOS 动效设计 Origami动画进阶教程
- iOS总体框架介绍和详尽说明
- iOS 动效设计 Origami五分钟入门秘籍
- iOS Block中的weakSelf/strongSelf
- <转载>让iOS的应用程序在点击设备的home键返回桌面后,再次打开应用进入启动画面
- iOS TPKeyboardAvoiding自动识别键盘的高度
- IOS视频分解图片、图片合成视频
- ios启动程序时隐藏状态栏,启动后显示状态栏的方法
- iOS学习路线图
- problem parm crash 照相机的问题
- iOS开发——远程消息推送的实现
- Xcode 6之后创建PCH文件
- [IOS 开发] 获取当前设备可用内存及所占内存
- IOS string转NSURL为nil问题
- 17个提升iOS开发效率的必用工具