WebGL を用いて地球や地図をレンダリングする WebGL Earth API が想像以上に手軽だった
手軽さから始める WebGL 体験
WebGL を自由自在に操れるようになるためには、3D プログラミングや、OpenGL などにありがちな独特なプログラミング手法に関する知識が必要になります。
それらは得てして難解であったり、無駄に冗長な記述を行わなければならなかったりするので、最近では簡単に WebGL を扱えるようにするためのライブラリなどが多く見受けられるようになりました。
今回ご紹介するのも、そんな手軽に WebGL を扱うことができる javascript API です。
example のソースを貼るだけ簡単
今回ご紹介するのは、WebGL Earth の Example ページ。
このページには、実際に動作するサンプルと共に、画面の下のほうには実装例となる HTML のソースが表示されています。
マーカーを表示する例。
ベースとなる技術には、Leaflet.js や CesiumJS など外部のプロダクトを利用しているみたいですが、驚くべきはその実装の簡単さです。
ほんの数十行の HTML をコピーペーストするだけで、簡単に三次元の映像が出てくるのには単純に驚きました。
個人的には、WebGL や 3D のコンテンツを制作するうえで、いかに効率よく生産性高く、尚且つ簡易に作業を完了できるかは「現時点では」あまり重要ではないと思っています。
むしろ、きちんと 3D プログラミングの基礎を習得せずに、いたずらに WebGL コンテンツを量産することは全体の質を低下させてしまうことに繋がるのではないか……そんなふうに無駄に深刻に考えてしまうことも多いです。
しかし今回の WebGL Earth の場合には、用途がかなり限定されていること、またその性質から考えてみても、簡易であることの恩恵を受けられるデベロッパーがかなりいるのではないかなと感じます。何かしらの地図データを利用したウェブサービスの実装を行う上で、とりあえず地図や地形だけでいいのでてっとり早く三次元でレンダリングしたい……という場面は結構世の中にはたくさんあるような気がします。
レトロ地図風のレンダリングも。
ゲームなどの高度かつハイスペックな 3D コンテンツを制作するとなると、なかなかこういった簡易的な API を利用して作品を生み出すというのは難しいでしょう。
しかし今回紹介した WebGL Earth のように、様々な用途で利用できる汎用性のあるコンテンツが簡単に利用できることは大きな意味があると思いました。
API などのリファレンスも、公式サイトなどを見るとそこそこ充実しているように見えます。
興味のある方は、ぜひいろいろ触ってみていただければと思います。
リンク:
WebGL Earth API examples: Leaflet compatible API
WebGL Earth - open source 3D digital globe written in JavaScript