The WebKit Open Source Project

Chris Marrin氏がSurfin' Safari BlogにおいてWebGL Now Available in WebKit Nightliesのタイトルのもと、WebGLの規格が数ヶ月後に公開されること、4日(r49073)のWebKit開発版からWebGLの実装が追加されたことを紹介し、その利用方法を簡単にまとめている。

WebGLはブラウザのCanvas要素に対してOpenGL APIを使った描画を可能にしようというもの。プラグインやアドオンを追加することなく、OpenGLというすでに成熟しているAPIを使った3Dレンダリングが可能になるところがポイントとなる。現在のところOpenGL ES 2.0がベースのAPIとして採用されている。

WebGLの実装はWebKit以外にもFirefoxがすでに取り込んでおり、同様に開発版で試せるようになっている。WebGL Now Available in WebKit Nightliesによれば、今のところWebGLが使えるのはMac OS X LeopardまたはSnow Leopardで動作するWebKit開発版。WebKit Nightly Buildsから4日(r49073)以降にビルドされたバージョンをダウンロードして試用できる。なお実行するには次のようなコマンドを実行して設定を有効にする必要がある。

defaults write com.apple.Safari WebKitWebGLEnabled -bool YES

WebKit開発版 WebGL実行例 - 回転箱その1

WebGLに対応していないブラウザではエラーがでる

WebKit開発版 WebGL実行例 - 回転箱その2

WebKit開発版 WebGL実行例 - 回転球体その1

WebKit開発版 WebGL実行例 - 回転球体その2

WebKit開発版 WebGL実行例 - 回転急須

WebGLに対応したWebKitでブログにアクセスし、掲載されている画像をクリックするとWebGLで記載されたページが開かれ、3Dオブジェクトが回転する様子を観察できる。WebGLに対応していないブラウザでクリックするとエラーダイアログが表示されたり、何も表示がおこなわれない。一番最初のサンプルについては描画するためのJavaScriptコードutils3d.jsおよびCanvasMatrix.jsが公開されており、実際にどのようなプログラミングがおこなわれているのか確認できるようになっている。

WebGLの規約は現在数十社から構成されるThe Khronos Groupにおいて標準化作業が進められている。すでに終わっている作業についてはKhronosグループのメンバーに対しては公開されているものの、一般公開はされていない。メンバーによるレビューが終わったあとで数ヶ月以内に公開される見通し。