1

可以在 WindowsFormsHost 内绘制 DirectX 场景,但此解决方案涉及一些互操作问题,主要是“空域”问题。因此,在为此创建整个框架之前,我想知道,在 WPF 窗口中使用的 D3DImage 是否会导致与 WindowsFormsHost 文档中所述的叠加和大小调整类似的问题?还是设计成完全兼容WPF系统?感谢您的帮助。

4

1 回答 1

2

在 MSDN 页面D3DImage Class中,您可以看到 D3DImage 只是从 ImageSource 派生的。所以当它被像Image这样的控件使用时,它只是一个源。它根本不会改变控制,所以所有那些讨厌的空域问题都是历史。它还允许您对控件执行您过去能够执行的所有操作,现在也可以对 D3D 内容执行操作,例如获取鼠标事件、更改不透明度和应用变换。

然而,这不是无懈可击的。如 msdn 所述,它无法通过远程桌面连接工作,并且存在重大的性能问题。(可能需要一些调整)

如果您正在寻找像游戏一样制作 DirectX 重度应用程序,我建议您直接使用 DirectX 或使用 Microsoft 游戏开发框架 XNA。有关更多信息,请查看XNA 开发人员中心

对于任何其他读者,如果您只想要屏幕上的立方体或具有 3d 外观的 UI,也许 WPF-3D 足以满足您的使用需求。

虽然我个人没有看到很多项目使用 D3D 控件,但肯定有很多可能性。

祝你好运,

于 2010-03-15T17:10:02.867 回答