DirectX 11支持.NET吗?

14

我可以在C#应用程序中使用DirectX 11吗?

需要在WPF应用程序中使用DirectSound。.NET 4 W7 x64

6个回答

10

您可能还想考虑使用更新的SharpDX。最大的区别是它不支持DX9(尽管这在这里无关紧要),并且API直接从DX SDK头文件生成。您甚至可以开始制作Windows 8中的Metro风格应用程序,因为它已准备好支持Direct3D 11.1。


9

来自 Chuck Walbourn 的博客,标题为:Games for Windows and the DirectX SDK。 他似乎推荐使用 SlimDx 库,根据他们的 文档,它支持 DirectSound。

从上面的博客可以看出:

现代版的DirectX SDK适用于C/C++本地开发人员。如果您正在寻找使用DirectX技术的.NET解决方案,虽然解决方案的选择取决于您的具体需求,但有许多选项可供选择:
•对于使用Windows Presentation Foundation但想要使用新的DirectX 11 API的开发人员,Windows API Code Pack提供了管理的程序集,包括Direct3D 10.1、Direct3D 11、Direct2D、DirectWrite、DXGI和Windows Imaging Library(WIC),以及许多其他Windows 7功能。最新版本支持.NET 4.0和x64本机“anycpu”应用程序。请注意,您仍然需要安装DirectX SDK才能获得HLSL编译器(FXC.EXE)工具。
•对于已投资于Managed DirectX 1.1但正在寻找更新以解决我上面提到的限制的开发人员,开源SlimDX库旨在模仿Managed DirectX 1.1以实现这一目的。它包括对x64本机“anycpu”应用程序的支持,包括现代DirectX支持,并与.NET 4.0运行时兼容。

4

如果你想在C#中使用DirectX 11,你需要一个包装器。

可以查看以下链接:

http://slimdx.org/

3
很遗憾,SlimDX和SharpDX都不再继续开发了。就我所知,它们仍然可以在.NET 6.0上使用,但是这些库将不会有新的功能或错误修复。
.NET Foundation推出了一个新项目Silk.NET,似乎旨在取代前两者并且正在持续开发中。当我需要更新目前使用SlimDX的项目时,我会去看看它。

1
如果您只是打算播放声音,那么FMOD是另一个选择,这里有一个C#封装可用。如果您计划更多,则我建议使用Sharpdx,因为它仍然得到支持。

1

我发现了一种方法。首先,您需要安装DXSDK (我有2010年6月和Windows 7的SDK)。转到“添加引用”对话框,点击“浏览”,进入"C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0""C:\Windows\Microsoft.NET\Managed DirectX\v9.02.2904",然后选择适当的dll。例如-Microsoft.DirectX.dll。然后在项目中添加"using Microsoft.DirectX"指令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接