Flash の新しい GPU 描画機能と AGAL バージョン 2

先日公開された Flash Player / AIR 14 ベータ版から、バージョンアップした AGAL が使えるようになりました。また、Flash Player/AIR 13 で追加された新しい GPU 描画の機能などもありますので、まとめてお伝えします。

テクスチャのアンチエイリアス

Context3D クラスの setRenderToTexture() メソッドには、テクスチャに対するアンチエイリアスの品質を指定する引数があります。が、これまでは値を指定しても無視されていました。

setRenderToTexture(texture:TextureBase,enableDepthAndStencil:Boolean, 
 antiAlias:int=0, surfaceSelector:int=0, colorOutputIndex:int=0)

3 番目の引数 antiAlias がそれです。

Flash Player/AIR 13 から、指定すれば Stage3D が MSAA によりエイリアス処理を行うようになりました。指定できる値は 0 ~ 4 の整数です。デフォルト値は 0 です。

数値が大きいほどエイリアスの品質は高くなりますが、その分パフォーマンスへの影響が大きくなります。

この機能は、どのプロファイルでも使用できます。モバイル環境とソフトウェア描画の際は、Flash Player/AIR 13 でも無効です。

Anisotropic フィルタ

Anisotropic (異方性) フィルタは Flash Player 14 からの新機能です。が、AGAL の機能ではありません。そのため、どのプロファイルからでも利用可能です。

Anisotropic フィルタを使うと、奥行きのある面上のテクスチャを斜めから眺めた際の品質を向上させることが可能です。

利用するには、Context3D.setSamplerStateAt() メソッドの 3 番目の引数に、Context3DTextureFilter クラスに定義されている "ANISOTROPIC2X", "ANISOTROPIC4X", "ANISOTROPIC8X", "ANISOTROPIC16X" の何れかを指定します。

AGAL を自分で書く人は、サンプリング命令のフィルタのオプションとして "anisotropic2x", "anisotropic4x", "anisotropic8x", "anisotropic16x" を指定するという方法も使えます。

AGAL 2

AGAL 2 は Flash Player/AIR 14 から利用できます。その際、Context3DProfile.STANDARD プロファイルを指定します。

将来的には分かりませんが、現時点では Standard が AGAL 2 を使える唯一のプロファイルです。

content3d.requestContext3D(Context3DRenderMode.AUTO,
  Context3DProfile.STANDARD);

直接 AGAL で記述する人を除けば、AGAL 2 の新機能が役に立つのは関連フレームワークが対応するまでお預けなりそうですが、ともあれ、主な新機能のリストです。

  1. 複数描画ターゲットの指定 (最大 4 つ)
  2. 浮動小数点数によるテクスチャの生成・利用
  3. レジスタ数の増加
  4. 命令の追加 :
    偏微分命令、深度バッファ出力命令 、条件分岐命令

最初の機能は、画面を複数の矩形領域に分割し、それぞれシェーダーから個別の描画ターゲットとして扱える機能です。

2 つ目は、テクスチャに、チャネルあたり 16 ビットの Float 値を使えるようになったというものです。従来は 8 ビットでした。RectangleTexture と CubeTuxture の両方で使えます。

16 ビットチャネルを使用するには、テクスチャを生成する際、フォーマットに Context3DTextureFormat.RGBA_HALF_FLOAT を指定します。

context3d.createRectangleTexture(800, 600,
  Context3DTextureFormat.RGBA_HALF_FLOAT, true);

その他にも、各種レジスタの数が総じて倍以上になったり、新しいオペレーターが追加されたりしています。

以上、クロスプラットフォームな描画エンジンとして、順調に進化を続ける Flash Player / AIR の新しい描画機能でした。

 

トラックバック(0)

トラックバックURL: http://cuaoar.jp/mt5/mt-tb.cgi/508

コメントする

2014年12月

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
レンタルサーバー

月別 アーカイブ

Powered by Movable Type 5.2.11