我从WinForms/XNA过渡到WPF/SlimDX,因为:
我以前所有的XNA代码都是用C#编写的。我很难弄清楚如何将它移植到高级别的SlimDX和WPF。我搜索得像疯了一样。我发现的最接近的是:
1) id=507941许多文章都指出了这一讨论,但是它是不完整的,我无法确定XAML,并且在附加了所有_slimDXDevice和Window1事件之后,我得到了设备错误。
2) http://www.codeproject.com/KB/WPF/D3DImage.aspx本文假设用户正在移植C++。我正在移植XNA代码,这是非常接近MDX代码。
如果我有一个WPF表单,其中有一个定制的SlimDX驱动的视图,它只是一个蓝色的盒子,我可以从那里开始。在XNA中,我呈现了许多独立的RenderTargets,并将它们放在屏幕上,现在我想将它们附加到控件上。但首先,只有一个蓝色盒子!:D
有什么想法吗?我觉得这要么很简单,要么就是我遗漏了一些“饼干切割器”代码。非常感谢!
发布于 2010-02-12 17:47:06
你现在可以看看样品了。它刚刚被签入到我们的存储库中,所以您需要使用SVN来获得它(或者等到我们发布2010年2月的版本):
http://code.google.com/p/slimdx/source/detail?r=1356
发布于 2010-02-11 21:06:11
D3DImage是您想要使用的类。即使代码项目教程是C++,它也非常适用于SlimDX和WPF。
您对SlimDX所做的一切就是正常运行代码,但不要运行礼物(.)在你的设备或交换链上。在你准备送礼物的时候,做一个D3DImage.SetBackBuffer(.)并将SlimDX表面的ComPointer属性发送到它。那就做D3DImage.AddDirect(.)现在您已经在WPF中合成了D3D。
此外,确保您创建了一个IDirect3DDevice9Ex,否则,您的性能将是糟糕的任何东西,除了XP!
发布于 2010-02-12 16:16:07
最近,我和D3DImage和SlimDX混在一起,发现让它正常工作并不太困难(使用DirextX9)。我有一些代码在我的家庭pc,我将在稍后发布,但它是非常类似的代码在提供的链接。
不过,我始终无法让它与较高版本的directx一起工作。Jeremiah有一个不错的博客帖子,它使用directx9设备作为directx 10/11/d2d和D3DImage之间的链接,但我无法让它与Slimdx一起工作。虽然directx9做了我需要它做的事情,但我并没有投入太多的精力,我希望它能在XP上工作。
https://stackoverflow.com/questions/2246386
复制相似问题