簡易瓦片式地球儀的webgl實現

2022-02-13 13:22:18 字數 512 閱讀 8040

學會建立並渲染乙個球體之後,我嘗試實現乙個簡易的瓦片式地球儀。最初的想法是通過google static map api獲取紋理資料,但是我很快發現,google static map api不能指定獲取邊緣的經緯度,只能以中心點經緯度和放大縮小等級來指定紋理位置。

於是只好用本地的紋理了,只簡易地做了兩級瓦片紋理:第一級是全球的紋理,只有一張;第二級是按東西半球、南北半球分的四張紋理。紋理很少,通過檔案系統模擬四叉樹管理。鏡頭拉近到乙個閾值,地球表面很明顯地變清晰了,此時webgl僅僅渲染了正在觀察的四分之一半球,並請求了解析度更高、範圍更小的紋理檔案。

demo中請滑鼠拖拽以旋轉球體,m和n按鍵在一定範圍內調整相機高度(請將中文輸入法設定為英文輸入模式或關閉中文輸入法。)