| INDEX |

FlashPlayer10が公開されてしばらく、そろそろFP10向けの勉強を初めてみようかと思ってます。とりあえずはGraphics辺りから始めようと思いますが、公開されたらテストしてみようと思ってたMatrix辺りから。
環境はなんとなく Flex4 Gumbo の Nightly Builds で(flashパッケージしか使わないけど)。

>> Flex4 Gumbo Downloads
>> flashplayer10 reference( 070208 )
>> Gumbo Language Reference

最初に Matrix のパフォーマンスを見てみたのですが、ここは前と変わりがないようです。相変わらずちょと遅い。

で、Matrix3D の パフォーマンスを見たのですが、こちらは少し妙で。どうも遅い。テストは append, prepend系の行列計算を見たのですけど。テストデータが悪いのかもしれないと思える程、気持ち悪いぐらい遅い。遅いかと思ったら速いときもある…。微妙です。遅いときは自前で組んだものより50倍ぐらい遅い。謎です。遅くなる場合の条件がよくわからんのですが、気が向いたら調べるかもしれません。PV3D とか away3D の既存のライブラリは、そのまま自前の改良でいくんでしょうね。

とはいえ、Matrix3Dのメンバ関数を見ると、decompose()、recompose()、interpolate()、transformVectors()など、便利系、DisplayObjectとの整合性的なものが見られます。生っぽいMatrixのライブラリより利用するには便利なのかなぁという印象です。とりあえず簡単なサンプルをつくってみた。
※flashplayer10が必要です。

ソースはこちら。

package  
{
  import flash.events.Event;
  import flash.display.*;
  import flash.geom.*;
  
  [SWF(width=425, height=425, frameRate=60, backgroundColor=0x000000)]
  public class TestMatrix3D extends Sprite
  {
    private var particle_num:int = 3000;
    private var vertices_in:Vector.;
    private var vertices_out:Vector.;
    
    private var _matrix:Matrix3D;
    
    public function TestMatrix3D() 
    {
      //初期座標(x,y,z)と変換用のVectorつくる
      vertices_in  = new Vector.( particle_num*3, true );
      vertices_out = new Vector.( particle_num*3, true );
      
      //てきとうに座標いれとく
      for ( var i:int = 0; i 

まぁぼちぼち。

| INDEX |