代码之家  ›  专栏  ›  技术社区  ›  CDR

Windows上的DirectX编程,首选的方法是什么?

  •  5
  • CDR  · 技术社区  · 16 年前

    我需要以一种花哨的方式开发业务应用程序的一部分。所以想看看我是否可以使用DirectX。这就是我得到的。

    1. 首先,我读到如何使用C/C++来射击你自己的脚,而我应该使用DICTX.NET来代替。我不能不同意。现在是21世纪。

    2. 已下载DirectX SDK,但在其中找不到.NET程序集。搜索网络现在发现DirectX.net(称为MDX)已经过时(2006年发布)。我应该使用XNA,它主要是为Xbox开发的。

    3. 已下载XNA。但它不会安装,因为我没有C.NET Express 2005 SP1。在我的vs pro 2005上安装了SP1。但它仍然无法安装。它需要Express 2005,而不是Pro,显然不是2008。

    4. 沮丧地试图下载免费的C.NET Express。但是微软的链接显示C.2005实际上下载了C.2008,因为C.2005现在已经过时了。

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

    现在我有两个选择:

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

    2. 尝试Silverlight。

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

    udpate:想补充一点,dx10与其他dx版本不向后兼容。SlimedX看起来真的很漂亮。但是作为一个非常新的包,我不确定文档和教程有多大的帮助。

    udpate 2:似乎谷歌在搜索xna下载时出现的第一个下载链接不是最新的。感谢Douglash提供了v.3的链接。轻视它。可能会奏效。

    然后是阿金。我应该切换到wpf/silverlight吗?还是和XNA一起去?哪一个是更好的记录和未来的专业?

    更多更新:Vista Realy没有预装Directx9[通过谷歌查看]。至少去年我的机器上没有。谷歌搜索结果显示,从微软下载了Directx9之后,我必须在Vista上手动安装Directx9。但我的尝试失败了,因为DX9/Vista的基本硬件驱动程序丢失或无法工作。我有一个想法,那就是它没有得到很好的支持。

    6 回复  |  直到 16 年前
        1
  •  1
  •   DouglasH    16 年前

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

    第二,我当然希望Vista有DirectX9,因为这是DWM在Vista中运行的DirectX的版本。我想你会发现DirectX9和之前的DLL,以及Vista中加载的DirectX10的DLL。或者,Windows 7也将具有DirectX 11(编辑2请注意,DWM是在Directx10上构建的,具有用于没有3D视频硬件的系统的软件仿真器、用于带有DirectX 9卡的系统的DX10ondx9驱动程序,当然还完全支持DirectX 10卡)。

    编辑,

    此外,如果您下载了3月份的DirectX SDK,则可以下载DirectX 9.0C、DirectX 10、10.1和DirectX 11的测试版。尽管Directx9与大多数平台向后兼容,但我必须检查Directx8.x是否仍然包含在其中。

        2
  •  4
  •   erikkallen    16 年前

    MS已停止支持.NET DirectX库。有一个开源的替代方案 SlimDX 而且效果很好。文档中有一些是需要的,但是它可以通过使用DirectX C++文档和一些常识来迷惑。

        3
  •  4
  •   Akash Kava    16 年前

    WPF做了相当好的3D材料,WPF有很多鱼眼面板和源代码,是的,因为MS已经从他们的技术走了道路,在今天的术语中,我们不能只关注MS的一项技术来制作整个业务应用程序。

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

        4
  •  2
  •   Hideo    16 年前

    如果你回到C或C++,你可能想检查简单的直接媒体层(SDL)。

    imho,它比directx容易得多。

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

        5
  •  2
  •   Vilx-    16 年前

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

        6
  •  1
  •   sabiland    16 年前

    虽然我从来没有直接与DirectX(与OpenGL有点接触)合作过,但我会选择WPF。实现起来最不痛苦(透明度、渐变、画笔、动画等),它提供了我所看到和经历过的坚实性能。 但是,它不是平台独立的。