0


"Myapp" という Windows アプリケーションから (共有メモリまたは GPU メモリで) directX レンダリングを取得し、このレンダリング (ビュー) を 4 つの directX シンプル アプリケーション (最初の Windows アプリケーション " Myapp " とまったく同じビューのみ) に適用する必要があります。backbuffer について説明し、別のものは FrontBufferData について説明します
1) C++ で directXWindows アプリケーションの directX レンダーを簡単に取得するにはどうすればよいですか?
2) このレンダリングを C++ の 4 つの別の DirectX アプリケーションに簡単かつ迅速に共有するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1
  1. 3 番目のアプリケーションのバックバッファからレンダリング データを取得することはできません。Microsoft が提供する唯一のインターフェイスはGetFrontBufferData()です。この関数は、アンチエイリアス処理されたスクリーン ショットを取得する唯一の方法であり、非常に低速です。

    • フロントバッファには、現在画面に表示されているデータが含まれています。
    • バック バッファには描画中のデータが含まれていますが、まだ存在していません。

    Present を呼び出すと、DirecX はバッファー ポインターを変更するだけで 2 つのバッファーを交換します。したがって、フロント バッファーはバック バッファーになり、バック バッファーはフロント バッファーになりました。これはサーフェス フリッピングと呼ばれます。

  2. プロセス間でメモリを共有するには、さまざまな方法があります。

レンダリング データをどうしたいですか?

于 2013-07-04T01:47:36.807 に答える