0

提供された 2 つの画像 (3D モデルではない) に基づいて、200 Hz の画面にアナグリフ (立体画像) を描画するアプリケーションを構築しています。したがって、再描画の速度の整合性は非常に重要です。DirectDraw サーフェスとその Flip() (現在のサーフェスのイメージをセカンダリ イメージに切り替える) で最高の結果を達成しました。

(void) lpddsPrimary->Flip(nullptr, DDFLIP_WAIT);

しかし、DirectDraw は非常に時代遅れであり、最新の DirectX ライブラリに基づいてこの機能を再実装する方法を探しています。しかし、クワッドを作成したり、テクスチャとして絵を描いたり、2D 画像を出力するためだけに 3D 射影行列を計算したりしたくありません。

これが DirectX でどのように実行できるかについてのスニペットがあれば、本当にうれしいです。前もって感謝します。

4

1 に答える 1

1

あなたの目的のために、DXGIを使用してD3Dを完全に避けることができます。バックバッファにデータを取得する方法については言及していませんが、DXGI を使用すると、スワップチェーンを作成し、それを反転して (Present)、サーフェスにアクセスできます (たとえば、それらをロックします。今は Map と呼ばれています)。3D の場合、DXGISwapChain1 などの「1」バージョンが必要です。http://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspxを参照してください。

DXGISwapChain1 は DXGISwapChain のサブクラスであり、GetBuffer などのいくつかの重要なメソッドは基本インターフェイスにあることに注意してください。

于 2012-03-28T10:09:11.850 に答える