您的位置:首页 > 移动开发 > IOS开发

iOS全景

2020-01-15 11:50 2166 查看

一张鱼眼图或者6方图,展现出来的全景影像效果图

PanoramaGL

PanoramaGL是世界上第一个开源的实现360度全景图像的iOS、Android类库。基于OpenGL 支持球,立方体,圆柱。有重力加速等。

很老的一个库了,但是效果做的非常棒,缺点就是非常耗内存,并且作者早已经不在维护了,bug非常多

https://code.google.com/p/panoramagl

本人在生产环境用了很久这个库,所以自己也fork了一个版本,修改了若干bug,满足基本使用

https://github.com/shaojiankui/PanoramaGL

JAPanoView (推荐)

JAPanoView是一个UIView子类,从立方全景图像创建显示360 - 180度全景,交互式平移和缩放。可以添加任何UIView JAPanoView热点。类库非常棒,完全基于iOS类库实现,没有借助OpenGL

https://bitbucket.org/javieralonso/japanoview/

显然这个库也很久更新了,Bug也有些,偌大互联网也有人fork了下,修复了bug,

https://github.com/smartapps-fr/JAPanoView

Panorama

同样是基于OpenGL的球形全景视图,代码非常少,值得学习。但是只支持一张鱼眼图。

https://github.com/robbykraft/Panorama

threejs.org

Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精彩的演示。不过,这款引擎目前还处在比较不成熟的开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏)。但是显示在iOS Webview略显鸡肋。最后放弃之

three.js的代码托管在github上面

https://github.com/mrdoob/three.js

类库非常强大。全景展示仅仅是一个小功能

http://threejs.org/examples/webgl_panorama_equirectangular.html

自己动手实现

GLKit.framework 与OpenGLES

使用 

GLKTextureLoader
cubeMapWithContentsOfFiles
textureWithContentsOfFile
textureWithCGImage
 我们很容易渲染出来一个球体效果,难点就在于根据手势的拖动与缩放改变球体

 

 

转载于:https://www.cnblogs.com/starainDou/p/5784253.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
ad4576690 发布了1 篇原创文章 · 获赞 1 · 访问量 1417 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: