HTML5 が盛り上がっておりますが、現在でもプラグインをインストールすることで JavaScript からハードウェアのアクセラレータを利用できるらしく、なんとも恐ろしいものです。
O3D Demos and Samples – O3D Plug-in API – Google Code
HTML5 の正式リリースでこういった流れが加速するのでしょうか。
しかしながら、いまだに HTML5 とグラフィックス描画との関連が見えません。もしかすると、そういった用途を想定した DOM オブジェクトが追加になっているのかもしれませんが、よく聞く Canvas というのがそれなのでしょうか。
私が把握しているのはセクションやヘッダーといった、 WEB サイトや文章を作るならあるとうれしいなぁ、というエレメントが追加になっていることくらいなものです。
草案によると…
To draw on the canvas, authors must first obtain a reference to a context using the getContext(contextId) method of the canvas element.
context = canvas.getContext(contextId)
Returns an object that exposes an API for drawing on the canvas.
Returns null if the given context ID is not supported.
…とのことで HTML Canvas 2D Context というオブジェクトを取得することができるようです。リンク先を確認してみましたが、 3×3 の行列を使ったトランスフォームができるようでして、確かに 2D 描画機能としては不足を感じません(でも、表示ツリーみたいなことをやるにはどうすればいいんだろう?)。
また、かなり速度的な疑問を感じますが、 Pixel manipulation によってフレームバッファへアクセスするかのようなことも可能らしいです。一応 data というプロパティへアクセスすることで “Returns the one-dimensional array containing the data.” というお話ですので、関数を呼んで1ピクセル単位で読み書きするよりかは高速になりそうですが、はてさて…
ちなみに、現在 W3C の方でまとまっているのは 2D 関連のみなのか分かりませんが…
Vendors may also define experimental contexts using the syntax vendorname-context, for example, moz-3d.
…とのことです。もし、「 Flash を駆逐したい!」と思われる方がいらっしゃるなら、誰かが頑張って作るかもしれません。
いろいろと分からないことが多いので本を注文してみました。良かったら紹介します。
Contributions