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