我可以从 C# 应用程序使用 DirectX 11 吗?
需要使用 WPF 应用程序中的 DirectSound。.NET 4 W7 x64
我可以从 C# 应用程序使用 DirectX 11 吗?
需要使用 WPF 应用程序中的 DirectSound。.NET 4 W7 x64
您可能还想考虑更新的SharpDX。与 SlimDX 最大的不同是它不支持 DX9(尽管在这里无关紧要),并且 API 是直接从 DX SDK 标头生成的。您甚至可以开始在 Windows 8 中制作 Metro 风格的应用程序,因为它已准备好支持 Direct3D 11.1。
来自 Chuck Walbourn 的博客,标题为:Windows 游戏和 DirectX SDK。他似乎在推荐 SlimDx 库,根据他们的文档,它确实支持 DirectSound
从上面的博客:
DirectX SDK 的现代版本是为 C/C++ 本机开发人员设计的。如果您正在寻找使用 DirectX 技术的 .NET 解决方案,虽然解决方案的选择取决于您的特定需求,但仍有许多可用选项:
……
• 对于使用 Windows Presentation Foundation 但希望使用新的 DirectX 11 API 的开发人员,Windows API 代码包为 Direct3D 10.1、Direct3D 11、Direct2D、DirectWrite、DXGI 和 Windows 映像库 (WIC) 提供托管程序集以及许多其他 Windows 7 功能。最新版本支持 .NET 4.0 和 x64 本机“anycpu”应用程序。请注意,您仍然需要安装 DirectX SDK 才能获得 HLSL 编译器 (FXC.EXE) 工具。
• 对于投资于托管 DirectX 1.1 但正在寻找更新以解决我上面提到的限制的开发人员,开源 SlimDX库旨在模仿托管 DirectX 1.1 用于此目的。它包括对 x64 本机“anycpu”应用程序的支持,包括现代 DirectX 支持,并且与 .NET 4.0 运行时兼容。
……
如果您想将 DirectX 11 与 C# 一起使用,您需要一个包装器查看以下链接 http://slimdx.org/
这是我找到的一种方法。首先,您需要安装 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"
指令添加到您的项目中。
Bop,如果您只打算播放声音,那么 FMOD 是另一种选择,有一个可用的 C# 包装器。如果您计划更多,那么我想在上面推荐 Sharpdx,因为它仍然受到支持。