5

我需要以一种引人注目的方式开发业务应用程序的一部分。因此想看看我是否可以使用DirectX。这就是我得到的。

  1. 首先,我读到使用 C/C++ 就像在踢自己的脚,我应该改用 DirectX.NET。我不能不同意。这是21世纪。

  2. 下载了 DirectX SDK,但在其中找不到 .NET 程序集。现在在网上搜索发现 DirectX .NET(称为 MDX)现已过时(于 2006 年发布)。我应该改用主要为 XBOX 开发的 XNA。

  3. 已下载 XNA。但它不会安装,因为我没有 C#.NET Express 2005 SP1。在我的 VS Pro 2005 上安装了 SP1。但它仍然无法安装。它需要 Express 2005 和那个单一的版本,而不是 Pro,显然不是 2008。

  4. 沮丧尝试下载免费的 C#.NET Express。但是来自 MS 的链接说 C#.2005 实际上下载了 C#.2008,因为 C#.2005 现在已经过时了。

  5. 现在我读到 MS 现在正在将它的力量放在 WPF/silverlight 后面。XNA 不支持 DX10,Vista 也不支持 DX9。

现在我有两个选择:

  1. 回到 15 年前,用普通的 C/C++ 编写代码。至少 C 已经证明自己是永恒的。

  2. 试试银光。

你有什么建议?还是我错过了什么?

更新:想补充一点,DX10 不向后兼容任何其他 DX 版本。SlimeDX 看起来很有前途。但作为一个非常新的包,我不确定文档和教程会有多大帮助。

Udpate 2:我使用的谷歌搜索XNA下载时出现的第一个下载链接似乎不是最新的。感谢 DouglasH 提供 v.3 的链接。正在下载它。可能它会起作用。

但随后阿吉安。我应该切换到 WPF/Silverlight 吗?还是选择 XNA?哪一个有更好的记录和未来的专业?

更多更新:Vista 确实没有预装 DirectX 9 [通过谷歌搜索检查]。至少去年我的机器上没有。谷歌搜索显示,从 MS 下载 DirectX 9 后,我必须在 Vista 上手动安装 DirectX 9。但是我的 attemet 失败了,因为 DX9/vista 的硬件驱动程序丢失或无法正常工作。我的想法是它没有得到很好的支持。

4

6 回答 6

4

MS 已停止支持 .net DirectX 库。有一个名为SlimDX的开源替代方案,它运行良好。文档有一些不足之处,但可以通过使用 DirectX C++ 文档和一些常识来混淆。

于 2009-04-23T09:36:49.760 回答
4

WPF 在 3D 方面做得很好,而且 WPF 有很多鱼眼面板和源代码,是的,因为 MS 已经远离他们的技术,在今天,我们不能只关注 MS 的一种技术来制作完整的业务应用。

当然,我们也厌倦了使用多种不同版本的技术,即使是做最小的部分,但我相信他们通过服务数十亿台机器做得很好,这确实不容易,但 WPF 和 .NET 似乎是微软最稳定的技术,而且他们也在花费大量资金来制作完全托管的操作系统。

于 2009-04-23T09:43:14.470 回答
2

如果您曾经回到 C 或 C++,您可能需要查看 Simple DirectMedia Layer (SDL)。

恕我直言,它比 DirectX 容易得多。

网址:http ://www.libsdl.org/

于 2009-04-23T09:44:09.117 回答
2

DirectX 完全向后兼容。任何 DX9 应用程序都可以在 Vista 和 DX10 上运行。至于 XNA 和 VS2005 - 这有点奇怪。这将使 XNA 实际上毫无用处。检查你是否错过了什么。

于 2009-04-23T09:45:22.610 回答
1

几点,你下载了哪个版本的XNA。这是将在 Visual Studio 2008 上运行的 XNA Studio 3.0 的链接。 http://www.microsoft.com/downloads/details.aspx?FamilyId=7D70D6ED-1EDD-4852-9883-9A33C0AD8FEE&displaylang=en

第二,我当然希望Vista有Direct X 9,因为那是DWM在Vista上运行的direct X版本。我想您会在 Vista 中找到 Direct X 9 及之前版本的 DLL 以及 DirectX 10 的 DLL。或者对于这件事,Windows 7 也将具有 directX 11(编辑 2 请注意,DWM 是基于 DirectX10 构建的,具有用于没有 3d 视频硬件的系统的软件模拟器,用于具有 directx 9 卡的系统的 dx10ondx9 驱动程序和当然完全支持directx 10卡)。

编辑,

此外,如果您下载了 March directx sdk,您下载的是 directx 9.0c、directx 10、10.1 和 directX 11 的测试版。我将不得不检查 DirectX 8.x 是否仍然包括在内,尽管 DirectX 9 向后兼容该平台的大部分。

于 2009-04-23T10:01:52.710 回答
1

虽然我从未直接使用过 DirectX(很少使用 OpenGL)——但我会选择 WPF。实现起来最轻松(透明度、渐变、画笔、动画等),它提供了我亲眼所见和亲身经历的可靠性能。但是,是的,它不是独立于平台的。

于 2009-04-23T10:24:36.213 回答