我最近一直在为一个新项目做研究,结果比开始之前更加困惑。我知道类似的问题已经被问到了,但我似乎找不到任何关于我需要做什么的好信息。我希望这里有人能提供一些建议。
我需要将DirectX嵌入到具有现代Windows UI(工具栏、菜单、功能区,如果可能的话)的.NET应用程序中。我已经在XNA中对应用程序的DirectX部分进行了原型化,以证明概念,但我不需要坚持,重写不是问题。利用WPF的UI优点是很好的,但.NET中的任何东西都是一个选项(WinForms等)。
该应用程序不会做任何非常复杂的事情:
- It loads of a bitmap image into a texture (or a few textures as the image is often quite large)
- Renders to off screen target (applying a pixel shader based on another texture) and gets the result back as a texture
- Renders to the window with another pixel shader applied
- Pan and zoom of resulting image
问题是,我所有的研究网上折扣选项,但没有提出替代方案。例如,我读到:
- Managed DirectX in .NET is now unsupported
- Embedded my XNA application in Winforms or WPF isn't recommended
- WPF supports pixel shaders but doesn't seem to get much love for performance
将DirectX嵌入现代Windows应用程序的标准是什么(如果有的话)?我们不可能是唯一想在.NET.中做到这一点的人
人们会推荐什么?
有两个库会有所帮助:
- http://www.slimdx.org/
- http://sharpdx.org/
两者都非常完整,还有一些带有WPF互操作的示例。