2011-03-01 81 views
2

我想使用SlimDX(DirectX 11)来呈现WPF中图像的内容。SlimDX和WPF(DirectX 11)

问题是,我找不到将SwapChain链接到D3DImage的方法。 (DirectX 11示例使用SlimDX RenderForm。)

回答

-1

看看DX10示例中的WPF示例。它应该对我认为的DX11有同样的效果。由于D3DImage仅适用于DX9素材,因此您需要使用dx10/11共享纹理。

+0

这回答了我的一半问题:DX11与DX10完全不同,并使用SwapChain进行渲染。我需要帮助的是如何从SwapChain渲染到Texture2D。 – Tamschi 2011-03-03 08:40:13

+0

实际上DX11和10没什么不同,请阅读MSDN上的“升级到DX11”文档。这只是从DX9升级到10或11的一小部分。至于SlimDX SDK中的DX10 WPF示例,我在运行某些硬件/操作系统配置时遇到了很多麻烦。 Vista64似乎特别容易出错。 – U62 2011-04-07 14:40:43

0

你可能想看看Codeplex上的Jeremiah Morill的DirectCanvas实现。如果你给他下线,他也非常有帮助。

+0

这是一个有趣的例子资源,但并没有回答我的问题,因为我想使用DirectX 11. – Tamschi 2011-03-03 08:42:15

4

Direct3D 10和11在API或它们的工作方式上没有太大差异。 SwapChain用于呈现给hWnd,不需要渲染。这与DX10相同,甚至是非常不同的DX9。

在任何情况下,我做的这个例子应该足以帮助你把你渲染的Texture2D传递给WPF。不记得我是否完成了DX11,但它几乎是一回事。 http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/437/Direct3D-10-11-Direct2D-in-WPF.aspx

+0

我不确定如何创建一个新纹理并将其用作渲染目标,但感谢您的回答I终于知道我做错了什么。尽管你并没有使用托管代码来处理'D3DImageEx',所以我接受了mdm20对这个问题的回答。 – Tamschi 2011-03-13 12:41:57