iOS上实现720度全景图浏览
所谓720度全景图就是一个包含了摄影点当前位置720度的景物的图片,参考图片如下:
这种720度全景图除了能用全景相机拍摄外,还能用带鱼眼镜头的相机或普通相机通过软件的加工而来。
当然这些全景图由于各种扭曲而导致不能直接观看,他只能在全景图浏览程序下正常观看。
实际浏览效果如下,用户可以左右上下移动画面来进行观赏。
至于程序的实现,主要使用到了 OpenGL ES 三维图形API。
利用 OpenGL ES 构建一个球体,并在球面上使用纹理渲染而成。
也可以构建一个正方体,然后对正方体的六个内面使用纹理渲染而成。
由于 OpenGL ES 的球面并不是由曲面组成的,而是由一个个小的三角形组成,所以使用球体的方法构建全景图,程序初始化会较慢,并且会占有更多的显存。
组成球面的三角形越多,渲染出来的球面看上去就会越细腻,相应地,程序的运行速度也会越慢。
而使用正方体来创建全景图,他仅仅需要6*2(正方体有6个正方面,每个正方面由两个三角形构成)的三角形即可,无论是初始化还是运行速度都明显由于使用球体的方法。
在3D游戏开发领域里,人们称这种使用三维图形API创建的,用于包含整个游戏世界的立方体为天空盒(Skybox)。
![知识共享许可协议](https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png)
《iOS上实现720度全景图浏览》 由 Shingwa Six 创作,采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。