原文地址《www.cnblogs.com/mawenqiangios/p/5884373.html》
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度全景,交互式平移和縮放??梢蕴砑尤魏蜺IView 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我們很容易渲染出來一個球體效果,難點就在于根據手勢的拖動與縮放改變球體