简易瓦片式地球仪的webgl实现

学会创建并渲染一个球体之后,我尝试实现一个简易的瓦片式地球仪。最初的想法是通过Google Static Map API获取纹理数据,但是我很快发现,Google Static Map API不能指定获取图片边缘的经纬度,只能以中心点经纬度和放大缩小等级来指定纹理位置。
于是只好用本地的纹理了,只简易地做了两级瓦片纹理:第一级是全球的纹理,只有一张;第二级是按东西半球、南北半球分的四张纹理。纹理很少,通过文件系统模拟四叉树管理。镜头拉近到一个阈值,地球表面很明显地变清晰了,此时webgl仅仅渲染了正在观察的四分之一半球,并请求了分辨率更高、范围更小的纹理文件。
Demo中请鼠标拖拽以旋转球体,M和N按键在一定范围内调整相机高度(请将中文输入法设置为英文输入模式或关闭中文输入法。)

源代码和相关资源可以点击这里下载。

无标题

无标题2 

如果你想要转载我的博文,请注明“转载”字样和源链接http://www.cnblogs.com/yiyezhai/archive/2012/10/16/2725465.html。

posted @ 2012-10-16 09:53  一叶斋主人  阅读(3199)  评论(0编辑  收藏  举报