2011-03-01 3 views
2

Je souhaite utiliser SlimDX (DirectX 11) pour afficher le contenu d'une image dans WPF.SlimDX et WPF (DirectX 11)

Le problème est que je ne peux pas trouver un moyen de lier le SwapChain à un D3DImage. (L'exemple DirectX 11 utilise SlimDX RenderForm.)

Répondre

-1

Regardez l'exemple WPF dans les exemples DX10. Il devrait fonctionner à peu près la même chose pour DX11 je pense. Parce que le D3DImage ne fonctionne qu'avec DX9, vous devez utiliser une texture partagée dx10/11.

+0

Cela répond à environ la moitié de ma question: DX11 est assez différent de DX10 et utilise un SwapChain pour le rendu. Ce que j'ai besoin d'aide est de savoir comment rendre de la SwapChain en Texture2D. – Tamschi

+0

En fait, DX11 n'est pas si différent de 10, lisez le document "mise à niveau vers DX11" sur MSDN. C'est une fraction de l'effort de mise à niveau de DX9 à 10 ou 11. Quant à l'exemple DX10 WPF dans le SDK SlimDX, j'ai beaucoup de mal à faire fonctionner cela sur certaines configurations matérielles/OS. Il semble particulièrement défaillant sur Vista64. – U62

0

Vous voudrez peut-être jeter un coup d'œil sur l'implémentation DirectCanvas de Jeremiah Morill sur Codeplex. Il est également très utile si vous lui laissez tomber une ligne.

+0

Ceci est intéressant comme une ressource pour des exemples, mais ne répond pas à ma question car je veux utiliser DirectX 11. – Tamschi

4

Direct3D 10 et 11 ne sont pas trop différents dans API ou comment ils fonctionnent. Un SwapChain est utilisé pour présenter à un hWnd, pas nécessaire de rendre. C'est la même chose avec DX10, et même le très différent DX9.

Dans tous les cas, cet exemple devrait être suffisant pour vous aider à prendre votre Texture2D et le passer à WPF. Je ne me souviens pas si j'ai fini le DX11, mais c'est à peu près la même chose. http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/437/Direct3D-10-11-Direct2D-in-WPF.aspx

+0

Je ne savais pas comment créer une nouvelle texture et l'utiliser comme cible de rendu, mais grâce à votre réponse, je Enfin, sachez ce que je faisais de mal. Vous n'utilisez pas de code managé pour 'D3DImageEx', alors j'accepte la réponse de mdm20 pour cette question. – Tamschi