如何将WPF的D3DImage与托管DirectX或者XNA一起使用?

时间:2020-03-06 14:41:40  来源:igfitidea点击:

我真的很想参加一些D3D编码,但是最近我没有时间学习C ++,这相当于一个业余项目。

解决方案

据我所知,它并没有得到官方的支持。看起来有些人入侵它以使其正常运行。

请尝试由WPF博士撰写有关CodeProject上的D3DImage的文章

看起来这可能不再是一个问题了,至少是.NET 4.0。微软周二在PDC上展示了XNA与WPF集成的演示。如果我们希望看到它的实际效果,可以在PDC站点上查看会话视频:

https://sessions.microsoftpdc.com/public/timeline.aspx

会议是PC46(WPF路线图),XNA演示大约是38分钟。我希望他们能在今天的WPF图形期货演讲(会议PC07)中进一步详细介绍。可能会有些困难,但令人鼓舞的是他们正在努力。

如果我们正在寻找一种进行Direct3D编程的托管方法,则建议使用SlimDX。它是DirectX上的开源.NET包装器。由于Microsoft不再支持托管DirectX,因此这是在D3D中使用托管代码的好方法。它的更新频率很高,到目前为止我一直很幸运。这里有一个主题谈论将SlimDX与D3DImage一起使用。

托管DirectX和XNA的另一种替代方法是MOgre,它是围绕使用Direct3D(称为Ogre3D)的优秀开源C ++图形引擎的Cwrapper。 (如果这是一个业余项目,我想我们可能会使用类似这样的引擎而不是直截了当的D3D来加快运行速度。我对XNA或者SlimDX不太了解。

这是Leslie Godwin的CodeProject文章,它采用了D3DImage类(摘自Ian提到的WPF博士的文章),并展示了如何在MOgre中使用它。

编辑:我创建了一个名为MogreInWpf的开源项目,该项目基于上面引用的Leslie Godwin的代码以及其他示例应用程序,将D3DImage与Mogre一起使用。