究極的には、papervision3d(Flashの普及した3Dレンダリングパッケージ)は、変換されたテクスチャをスクリーンに描画しますか?papervision3dはどのようにテクスチャを変換しますか?
内部でFlashのレンダリング装置を使用していますか?たとえば、DisplayObjectにテクスチャを描画して変形したり、3D MovieClipsを使用したりしていますか?または、おそらくフィルタ?または、最終的には、任意のソフトウェアプラットフォームのように、テクスチャからピクセルを読み取り、出力にペイントするだけですか?
私は簡単な答えが後者であるため質問しますが、少しのテストの後にはgetPixel
とsetPixel
がこのようなアプローチには十分速くないようですので、もっと難解なものがあるようですに。
ありがとうございました!
編集 - 私の回答の要約:Papervisionはそれ自体で透視変換を行いません。それは、テクスチャの各三角形の変形と歪みだけを行い、十分な三角形を使用すると、視点の錯覚が発生します。アフィン変換では、Flashのレンダリング装置を使用するため、コストのかかるピクセル操作を回避できます。
返信いただきありがとうございます!しかし、あなたは私が "変換を実行する"ステップで混乱しています。ピクセル単位で変換する場合、変換されたBitmapDataのすべてのピクセルを取得して設定する必要はありませんか? DisplacementMapFilterを使用することもできますが、マップ内の各ピクセルを設定する必要があります。 変換がFlashのレンダリング装置で行われている(つまり、MCにペイントして変換し、ビットマップに戻す)ということですか?それは可能ですが、あなたがアフィン変換に限定されているように見えるので、視点はありません。 – fenomas
bitmapFillを設定すると、描画するときに使用する行列を定義することもできます。この行列は、描画するときにビットマップを変換します。 (例えば、画像を歪める)これは摩耗三角形が遊びに来ることです。矩形は2つ(またはそれ以上)の三角形に分割され、次に描画するときに、適切なパースペクティブを得るために、各三角形についてビットマップが異なるように歪められます。より細分するほど、精度は向上する。 –
AH!私は今それを取得します。それはまったく視点変換を行っていません。アフィン・スキューを行います。より細分化された視点の錯覚が生じます。それを持って、非常にありがとう! – fenomas