1

最終的に、papervision3d (人気のある Flash 用の 3D レンダリング パッケージ) は、変換されたテクスチャを画面にどのように描画するのでしょうか?

内部で Flash のレンダリング装置を使用していますか? たとえば、テクスチャを DisplayObject に描画して変換するか、または 3D MovieClip を使用しますか? それともフィルター?それとも、他のソフトウェア プラットフォームで行うように、テクスチャからピクセルを読み取って出力にペイントするだけですか?

率直な答えは後者であるため、私は尋ねますが、少しテストした後、この種のアプローチには単に十分に高速ではないように思われるため、もっと不可解なことが起こっているに違いないようですgetPixel.setPixel

情報をありがとう!

編集 - 答えの私の要約: Papervision は、それ自体は透視変換を行いません。テクスチャの三角形ごとにスケーリングとスキュー変換のみを行い、十分な数の三角形を使用すると遠近法の錯覚が生じます。アフィン変換は Flash のレンダリング装置を使用するため、コストのかかるピクセル操作を回避できます。

4

1 に答える 1

5

すべて描画 API を使用してレンダリングされます。(lineTo) 描画 API を使用すると、色ではなく bitmapFill レートを設定できるため、テクスチャを描画できます。内部的には、テクスチャとして渡されたすべてのアセットを、レンダリング時に使用する BitmapData オブジェクトに変換しています。次に、3D オブジェクトが持つサブディビジョン (三角形) に対して、適切な視点を得るために変換を行います。

このアプローチは依然としてプロセッサに非常に負荷がかかりますが、各ピクセルを設定するよりも高速です。これは、ActionScript 用に特別に構築されたスマエのテクニックと理論を使用して、他の 3D レンダリング ソフトウェアと非常によく似た動作をします。

于 2009-05-16T16:17:49.813 に答える