简易瓦片式地球仪的webgl实现
学会创建并渲染一个球体之后,我尝试实现一个简易的瓦片式地球仪。最初的想法是通过Google Static Map API获取纹理数据,但是我很快发现,Google Static Map API不能指定获取图片边缘的经纬度,只能以中心点经纬度和放大缩小等级来指定纹理位置。
于是只好用本地的纹理了,只简易地做了两级瓦片纹理:第一级是全球的纹理,只有一张;第二级是按东西半球、南北半球分的四张纹理。纹理很少,通过文件系统模拟四叉树管理。镜头拉近到一个阈值,地球表面很明显地变清晰了,此时webgl仅仅渲染了正在观察的四分之一半球,并请求了分辨率更高、范围更小的纹理文件。
Demo中请鼠标拖拽以旋转球体,M和N按键在一定范围内调整相机高度(请将中文输入法设置为英文输入模式或关闭中文输入法。)
源代码和相关资源可以点击这里下载。
如果你想要转载我的博文,请注明“转载”字样和源链接http://www.cnblogs.com/yiyezhai/archive/2012/10/16/2725465.html。
作者:一叶斋主人 出处:www.cnblogs.com/yiyezhai 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。