Google、WebGLを利用したGoogleマップ「Google MapsGL」アーリーベータ版公開


WebGLをGoogleマップで利用した「Google MapsGL」

 米Googleは13日、3Dグラフィックス技術の「WebGL」をGoogleマップで利用した「Google MapsGL」のアーリーベータ版を公開した。WebGLをサポートしているブラウザー(Google Chrome 14以上、Firefoxベータ版など)で利用できる

 WebGLは、ハードウェアアクセラレーションによる3Dグラフィックス能力をブラウザーに搭載する技術。WebGLを利用した「Google MapsGL」は、プラグインなしで3Dの建物や衛星画像、ストリートビューなどを高速に見られるようになる。

 既に日本語版のGoogleマップでも利用可能となっており、利用可能な環境でGoogleマップにアクセスすると、左下に「新しいマップテクノロジーを使ってみませんか?」というメッセージが表示される。ここで「今すぐ試す」をクリックすると、MapsGLでの表示に切り替わる。

 これまで公開されていたWebGLへの実験的グラフィックスは、インストールが必要なデスクトップアプリケーションなどだったが、Googleマップと言うわかりやすい応用を一般ユーザーでも比較的簡単に見られるようになったことで、WebGLの応用範囲とパワーを感じられるだろう。実際に、WebGLを使った大規模なアプリケーションとしては、MapsGLが最初のものだという。

 Google Chromeのオープンソース版であるChromiumのWebGL開発チームは、Googleマップチームと協力して、このGoogle MapsGL開発にあたったという。

 事前にレンダリングされた画像タイルをサーバーからクライアントに送信する代わりに、MapsGLでは地図のベクターデータを送信し、クライアント側で描画する。そのため、ブラウザーに送られるデータ量は少なくなる。これはAndroid版のGoogleマップでも使用されている技術だ。

 Googleマップの描画のために、ブラウザー側でレンダリングしなければならない計算量はとても大きい。地図の様々な部分について、それぞれ最低でもフレーム当たり20ミリ秒で描画しなければならない。描画内容には地図のタイルデータだけでなく、3D建物、ストリートビュー、衛星画像などのデータも含まれている。こうした状況でGPUのハードウェアアクセラレーションは有効だと言える。

 また、Googleでは、すべてのユーザーが最新のグラフィックスカードを搭載しているわけではないという現実的な状況にも対処する必要があった。そのため最初にMapsGLを使用する際には、ユーザー側のハードウェア能力を確かめるための小さなベンチマークテストが行われる。十分なパフォーマンスが得られない場合には、サーバー側でレンダリング済みのラスタータイルを送信し、ダイナミックにその上にラベルをレンダリングするというハイブリッドな手法が採用されている。


関連情報

(青木 大我 taiga@scientist.com)

2011/10/14 12:13