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/AGAL実践編 Part2もうひとつ、ちょっと変わったシェーダーをAGALで書いてみようと思います。自分はよく漫画を読むのですが、漫画のような画面がFLASHで描画できたら面白いと思いまâ¦
- Flash3D/自分用のパッケージFlashで3D表現を行う場合、利用できるAPIはそこそこ低レベルですので、自由な実装ができる反面、やりたいことが簡単にはできないと思います。多くの人はやりたいâ¦
- Flash3D/MolehillでできることやっとMolehillの話ができそうです。これまでPapervision3Dとjiglibflashを通して、Flashで3Dを描画する旧来の手法について眺めてâ¦
- Flash3D/計算負荷を減らすレンダリングフロー で触れたとおり、Papervision3DではEvent.EnterFrameの発生の度にポリゴンの点をDisplayObjectに変換してâ¦
- Androidアプリメモ/メモ12アプリを改修するにあたって初めてこんな問題が出てきました。データベースに体重を記録するアプリなので、体重と計測日時をデータベースに記録をためていたのですが、今回â¦
- Flash3D/シェーダーのおさらいNintendo3DSが発売されたり、液晶テレビから映像が飛び出す昨今ですが、3D描画プログラミングの歴史はそれほど短くありません。最初は2D画像を組み合わせてâ¦
- Androidアプリ/日記8SoftbankキャリアのHTC Desireも2010年10月8日にAndroid OS 2.2へのアップデートを果たしました。噂の通り、動作が全般的に機敏にâ¦
- Flash3D/AGALでシェーダープログラマブルシェーダー の項でAGALMiniAssemblerというクラスを使ってシェーダーを作成する短いコードのサンプルを載せましたが、あの頃はまだAGAâ¦
- Flash3D/Papervision3DとJiglibからAway3Dに移行することにしてみたFlashで3Dが動くという話を聞いて、2,3年ほど前にPapervision3Dを使ってみたことがありました。それはまだ運用中のコンテンツなのですが、Jiglâ¦
- Flash3D/AGAL実践編 Part3フラグメントシェーダーを使ってベジェ曲線をひけるとのことなので、簡単そうな二次ベジェ曲線シェーダーを実装してみることにしました。 参考にしたサイトはこちら ポリâ¦