【问题标题】:SlimDX and WPF (DirectX 11)SlimDX 和 WPF (DirectX 11)
【发布时间】:2011-03-13 11:07:47
【问题描述】:

我想使用 SlimDX (DirectX 11) 在 WPF 中渲染图像的内容。

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

【问题讨论】:

    标签: c# wpf slimdx directx-11


    【解决方案1】:

    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

    【讨论】:

    • 我不确定如何创建新纹理并将其用作渲染目标,但感谢您的回答,我终于知道我做错了什么。不过,您没有为 D3DImageEx 使用托管代码,所以我接受 mdm20 对这个问题的回答。
    【解决方案2】:

    您可能想去看看 Jeremiah Morill 在 Codeplex 上的 DirectCanvas 实现。如果您给他留言,他也会非常乐于助人。

    【讨论】:

    • 这是一个有趣的示例资源,但没有回答我的问题,因为我想使用 DirectX 11。
    【解决方案3】:

    查看 DX10 示例中的 WPF 示例。我认为它应该对 DX11 起作用。因为 D3DImage 仅适用于 DX9 的东西,所以您需要使用 dx10/11 共享纹理。

    【讨论】:

    • 这回答了我大约一半的问题:DX11 与 DX10 完全不同,它使用 SwapChain 进行渲染。我需要帮助的是如何从 SwapChain 渲染到 Texture2D。
    • 其实DX11和10没什么不同,请阅读MSDN上的“升级到DX11”文档。这是从 DX9 升级到 10 或 11 的一小部分工作。至于 SlimDX SDK 中的 DX10 WPF 示例,我很难让它在某些硬件/操作系统配置上运行。在 Vista64 上似乎特别容易失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    相关资源
    最近更新 更多