1

質問はタイトルにあります:

[ActionScript3.0] 座標のピクセルの色 (uint) を取得するには? (Stage3D、Flare3D)

Flare3D ライブラリを使用して、iPad2 で 3D シーンをレンダリングしています。画面が再描画されるたびに、768 の異なる座標で色の値を取得する必要があります。以前は、単純なステージ (2D) では、指定された座標に変換された 1x1 ビットマップに描画できましたが、stage3D では機能しません。さらに、実際には画面が描画されるたびに、できるだけ頻繁に実行する必要があるため、パフォーマンスが低下するのではないかと少し心配しています。現在表示されている画面がどこかのビットマップのようになっていれば、単純な配列のようにアクセスできればいいのですが...しかし、ええ、私は息を止めていません:)

4

1 に答える 1

2

Stage3D はバックバッファにレンダリングし、直接アクセスできないため、Context3D.drawToBitmapData() メソッドを使用して BitmapData にもレンダリングする必要があります。特にビューポートが大きい場合、ビットマップへのレンダリングは非常に遅くなります。これらの 768 ピクセルにアクセスするだけでよいため、Context3D.setScissorRectangle を使用して、シザー長方形のサイズを 1x1 に設定し、必要な座標とともにシーンを 768 回レンダリングできます。私はそれを自分でテストしていないので、シーンを 700 回レンダリングしても 1 回レンダリングするよりも遅くならないかどうかはわかりませんが、試してみることをお勧めします。:)

于 2013-01-21T15:50:16.593 に答える