2007/02/15
ColorMatrixFilterで頂点変換
ColorMatrixFilterを使って頂点の変換を一括で行いました。頂点数のわりに高速ですが、AS2を使っています。
3D空間上の複数の頂点を互いの位置関係を保ったまま回転や移動や伸縮する際に、Matrixが良く使われます。 このとき行われる計算は、ColorMatrixFilterがビットマップの各ピクセルのRGBに対して行う計算とほぼ同じです。 そこで、ColorMatrixFilterを使って頂点の変換ができるかどうか試してみました。
用意した頂点(x, y, z)それぞれを1つのピクセルのR, G, Bに収めています。ここでちょっと思いつき、頂点を2種類ずつ用意して2つのビットマップに格納しました。ビットマップのブレンドは簡単に行えるため、大量の頂点のモーフィングも高速にできるわけです。
マウスで回転、上下矢印キーで頂点を増減します。頂点は10,000個まで増やせますが、あまり増やしすぎると負荷が高くなるので注意してください。
コメント一覧