EaselJS」と題して、EaselJSに新たなWebGLへの対応としてStageGLクラスが導入されると発表されました。本稿はこのblogにもとづいて、その中身をご紹介します。StageGLで何が変わるのかEaselJSにStageGLクラスが導入され、WebGLへの対応がより強化されることになりました。これまでのSpriteStageクラスの制約が取り払われ、パフォーマンスが増すとともに、フィルタの機能も加わります。クラスからSpriteStageがなくなり、StageGLはStageと置き替えられるクラスとなります(図001)。図001■クラスにStageGLが加わってSpriteStageがなくなるこれまでのWebGLレンダラーであるSpriteStageは、表示リストの階層がひとつのテクスチャのみ使うモデルを採用していました。パフォーマンスには優れていたものの、コンテンツを自由につくることができません。StageGLは動的描画モデルを使うことで制約を取り払い、デフォルトのStageクラスにとって替われるものとなります。つぎの表示オブジェクト(DisplayObjectのサブクラス)は、StageGL上でそのまま使えます。ContainerBitmapSpriteBitmapTextDOMElement他のオブジェクトも、キャッシュしたり、スプライトシートに含めることができます(SpriteSheetBuilder参照)。新しいバッチ処理のヒューリスティックスは、コンテンツを最適化し、GPUを最大限に活用して、現実世界のように動かせるでしょう。StageGLのフィルタモデルを加えて、今あるフィルタが使えるようにします。デフォルトのStageで開発したコンテンツでも、フィルタにWebGLシェーダを用いることができるのです。Waves」というデモが公開されています(図002)。マウスポインタの動きでパララックスが起こり、クリックで波が増えます。ソースもGitHubで見られます。StageGLのおもな機能StageGLにより採り入れられるおもな機能はつぎのとおりです。2DのStageへのフォールパックこれまでご説明した内容は、今なお開発中です(GitHubでNEXTバージョンは見られます)。正規リリースに向けて、デモやドキュメント、試してみるための素材などは、1〜2週間のうちに公開される予定です。