飴屋

Flash3D/flash.display3Dパッケージ

flash.display3Dパッケージの構成

Flash Player 11から利用が可能になる新しい3D描画用のクラスについて簡単に触れてみたいと思います。flash.display3Dパッケージには以下のようなクラスが追加されています。

Context3D
3D描画に関する中心的な役割を果たすクラス。「ポリゴンを描画」とか「画面をクリア」とか描画に関する直接的なメソッドと、描画設定を変更するメソッドをもっている。
Context3DBlendFactor
3D描画時のブレンドモード定数群
Context3DClearMask
3D描画をクリアする方法の定数群。色バッファ、ステンシルバッファ、深度バッファをそれぞれ個別にクリアすることもできるようです。
Context3DCompareMode
深度テストやステンシルテスト時の数値比較設定の定数群。
Context3DProgramType
3Dを描画するシェーダープログラムの種類を示す定数群。とりあえずバーテックスシェーダーとフラグメントシェーダーの二種類。
Context3DRenderMode
レンダリング処理の計算手法モード定数群。通常、GPUが使える場合はGPUを使いますが、ソフトウェアレンダリングも指定可能。
Context3DStencilAction
ステンシルテストの合否の結果、どのように描画するか(あるいはしないのか)という設定の定数群。
Context3DTextureFormat
テクスチャ生成時に指定するフォーマットの種類の定数群。とりあえずベタなバイト配列(BGRA)と圧縮フォーマットと二種類あるようです。
Context3DTriangleFace
ポリゴンの描画面の指定定数群。ポリゴンには裏表あるので、裏面の描画が不要であれば省くこともできます。
Context3DVertexBufferFormat
頂点バッファの数値の種類を示す定数群。「座標をfloat値3つで表すよ」とか「色をbyte値4つで表すよ」とか指定できます。
IndexBuffer3D
インデックスバッファを表すクラス。バイトの配列やVectorから作成できます。
Program3D
バイトコードで書かれたシェーダープログラムを表すクラス。
VertexBuffer3D
頂点バッファを表すクラス。バイトの配列やVectorから作成できます。

これらのクラスを駆使すると、何か面白いものが作れそうです。

Date: 2011/6/15

Flash3D