2012-03-28 14 views
0

私は2つの提供された画像(3Dモデルではない)に基づいて200 Hzの画面でアナグリフ(ステレオ画像)を描いているアプリケーションを構築しています。したがって、再描画の速度の統合は非常に重要です。私は、DirectDrawの表面で最高の結果を達成し、そのフリップ()(二次1に、現在の表面の画像を切り替え)しました:DirectX - DirectDrawサーフェスFlip()のアナログはありますか?

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

しかし、DirectDrawのは非常に古くなっていると私は現代に基づいて、この機能を再実装する方法を探してくださいDirectXライブラリ。しかし、私は本当にクワッドを作成したい、テクスチャのように絵を描きたい、2Dイメージを出力するためだけに3D投影行列を計算したくない。

これはおそらくDirectXでどのように行うことができるかのスニペットには本当に嬉しいです。前もって感謝します。

+0

私はdirectdrawが古くなった理由を理解できませんでした。私が提供する機能のために、この目的のためにdirect3dを使用してください。しかし、原理はほぼ同じです... – Ulterior

答えて

1

DXGIを使用してD3Dを完全に回避することができます。バックバッファにデータをどのように取得するのかは言いませんが、DXGIでは、スワップチェーンを作成し、それを反転させ(現在)、サーフェスにアクセスすることができます(ロックするなど)。 3Dの場合、 "1"バージョンが必要です。 DXGISwapChain1。 http://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspxを参照してください。

DXGISwapChain1はDXGISwapChainのサブクラスであり、GetBufferなどのいくつかの重要なメソッドは基本インターフェイスにあります。

+0

ありがとう!しかし、互換性はどうですか?プログラムはWinXPエンドマシン上で実行する必要があります。 – khaos

+0

その後、最新のDirectXライブラリを使用することはできません。 –

+0

だから、どうもありがとう。 – khaos

関連する問題