博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 载入3d模型 OpenGL ES
阅读量:7191 次
发布时间:2019-06-29

本文共 1312 字,大约阅读时间需要 4 分钟。

转自:http://blog.csdn.net/wangyuchun_799/article/details/7861226

标签:
7325人阅读
(1)
分类:
Android
(57)
iOS
(61)

目录

原文如下:

obj2opengl在GitHub中的主页:

终于找到一个iPhone OpenGL ES转换和加载OBJ 3D模型的好工具了,感谢作者

原文翻译如下:

       任何时候你想在iPhone应用程序或其他任何OpenGL工程中使用如, 或等软件制作的3D对象模型,都需要让你的程序去访问这些制作好的数据文件。要达到这个效果,你可以加载并解析本地保存的模型文件,或者干脆自己在内存中创建一个你想要表现的模型。

       OBJ2OPENGL是一个将模型文件转换成C/C++头文件的转换器,转换后的头文件中包含存储面的顶点,法线,纹理坐标的简单的浮点型数组。

Texturized and lighted 3D model with 8056 faces on the iPhone

       OBJ2OPENGL是一个将  3D模型文件转换成OpenGL ES可以使用的C/C++头文件的Perl脚本。转换后的头文件和Objective-C以及iPhone SDK库是兼容的。脚本的思路和代码都是基于的,他允许我增强并重新发布这个版本。它现在支持纹理映射和存储法线(而不是重新计算)。我已经改变了产生的数组结构以使用glDrawArrays而不是glDrawElements。这对纹理和法线是非常有好处的。这个版本包含了几个可选的命令行工具,用来更好的控制它的行为(如缩放和平移原点,设置对象和输出文件名等)。

      你可以简单的做一个默认的转换操作:

./obj2opengl.pl banana.obj
      要包含转换后的对象你必须这么做:
// include generated arrays#import "banana.h"// set input data to arraysglVertexPointer(3, GL_FLOAT, 0, bananaVerts);glNormalPointer(GL_FLOAT, 0, bananaNormals);glTexCoordPointer(2, GL_FLOAT, 0, bananaTexCoords);// draw dataglDrawArrays(GL_TRIANGLES, 0, bananaNumVerts);

      下载:

  • (脚本和例子)
  • 本人CSDN资源免费下载:

本地预览.3DS、.OBJ、.MD2、.MD3、.MS3D、.X等模型文件,推荐使用有几个OBJ 3D示例模型,感兴趣的哥们可以下载使用。

本人在经过使用后发现真的很好用,非常方便,在本人的CSDN资源上上传了一个示例代码工程,需要的兄弟们可以去下载!工程中加入了纹理、旋转、平移和光照,包含OBJ文件和对应的纹理图片。注意在经过本人尝试后发现,JPG、GIF和PNG都是可以使用的纹理图片,而tga格式加载失败,所以还是使用PNG格式好一点。

顺便发几张截图:

转载于:https://www.cnblogs.com/zhangqipu/p/5170564.html

你可能感兴趣的文章
洛谷P3379 【模板】最近公共祖先(LCA)
查看>>
获取一个表单字段中多条数据并转化为json格式
查看>>
c#中的变量,属性,字段
查看>>
JS实现延迟载入图片
查看>>
游戏开发中的人工智能
查看>>
Ubuntu 安装BCM 43142无线网卡驱动
查看>>
iOS 疑难杂症 — — UIButton 点击卡顿/延迟
查看>>
免费 官方的ASP.NET MVC电子书-Professional ASP.NET MVC 1.0
查看>>
PL/SQL DEVELOPER
查看>>
HDU-1179-Ollivanders(二分图最大匹配)
查看>>
牛客假日团队赛1 G.Superbull
查看>>
CSS的继承性和层叠性
查看>>
MQTT详解以及在IoT中的应用
查看>>
[python] - 读取文件内容,并输出
查看>>
$.fn.exted({})与$.extend({})区别
查看>>
apache 配置虚拟目录
查看>>
前端开发——HTML学习笔记
查看>>
设计模式-工厂方法模式
查看>>
类的数据成员的 const、static等类型的声明和定义常识
查看>>
银行家算法
查看>>