9

WPF の D3DImage で DirectX 10 (私は SlimDX を使用しています) を使用することは可能ですか? 私が見つけることができる唯一の例とドキュメントは、DX9 サーフェスの使用のみを示しています。

4

3 に答える 3

8

はい、WPF で D3DImage を使用して DirectX 10、11、および DirectWrite を使用できます。レンダー ターゲット サーフェスを共有として作成し、その共有テクスチャ ハンドルに基づいて DX9 テクスチャを作成して WPF で使用します。

これは、追加のオーバーヘッドや空域の問題なしで、基本的に 10、11、および DirectWrite を DX9 を使用するのと同じ方法で使用できることを意味します。

DX9、DX10、DX11、および DirectWrite を統合したサンプル WPF プロジェクトは、次のブログ投稿で参照できます。

http://blogs.windowsclient.net/rob_relyea/archive/2010/04/30/gizmodo-posts-wpf-direct2d-sample-wow.aspx

Microsoft Code Pack には、Windows 7 の他のさまざまなアンマネージ ライブラリに加えて、DX9、DX10、DX11、DirectWrite などの Windows 7 コンポーネント用のシン マネージ ラッパーが含まれています。

SurfaceQueueInteropHelper は、WPF での DX9、10、および 11 コンテキストの自動作成を管理し、D3DImage の更新と、デバイスの損失イベントを含むレンダリング システムのその他のさまざまな側面を管理する WPF コントロールです。

于 2010-05-07T04:52:17.163 に答える
2

私の知る限り、箱から出してはいけません。WPFはDirectXに基づいていますが、WPFはWindows XPでもサポートされているため、DirectX9に基づいています。

DirectX 10をWPFで使用できることは知っていますが、その場合、アプリケーションはXPで実行できなくなります。

DirectX 10(VistaおよびWindows 7)をサポートするBlingと呼ばれるWPF用のライブラリがあります。これは興味深いかもしれません。ここで見つけることができます。でも、どれだけ成熟しているかはわかりません。

また、 DirectX 10をWPFで使用することについて話しているこのブログ(主にフランス語)に出くわしました。

最後に、CodeProjectでDirectXでD3DImageを使用するための良い紹介があります

これがあなたの質問に正確に答えないことは知っていますが、とにかくそれをあなたと共有したいと思いました。幸運を祈ります。

于 2009-08-14T23:00:59.537 に答える
1

DirectX 呼び出しに SlimDX を使用する場合は、SlimDXControl (slimdxcontrol.codeplex.com) を試すことができます。これは、'9 ではなく D3D10 のみを明示的にサポートする、私が作成した WPF コンテンツ コントロールです。

-mpg

于 2011-02-02T21:32:20.403 に答える