DirectX中包含哪些组件?

时间:2014-04-29 09:55:06

标签: directx

对于哪些组件属于DirectX,以及哪些组件已弃用或属于哪些版本,有不同的想法 我找不到任何明确的站点,微软站点没有多大帮助。我发现最准确的答案是:

  

DirectX版本号(例如9.0c)仅指核心组件的版本,例如Direct3D,DirectInput或DirectSound。此数字不包括DirectX SDK中发布的各种可选组件的版本,例如D3DX,XACT,XINPUT等。

http://msdn.microsoft.com/en-us/library/windows/desktop/ee416805(v=vs.85).aspx

但似乎它们只是名称示例,并且DirectX SDK不适用于较新的DirectX。

所以我的问题是:DirectX版本包含哪些组件(包括所有可选/非可选组件)?我对DirectX 11.0特别感兴趣。

2 个答案:

答案 0 :(得分:3)

您可能会发现此blog post信息丰富......

基本上从Windows XP SP2开始,部分" DirectX"与操作系统融合在一起,随着时间的推移,这些组件已经更新和/或弃用,或者只是继续推进"按照"对于appcompat。人们想到的其他事情" DirectX"实际上只是传统Direct SDK中提供的可选库或DLL(参见" Not So Direct Setup")。

" DirectX 11.0"本质上是Windows 7中提供的东西,其中大部分也是通过Windows Update在Windows Vista上提供的。

更新:" DirectX 11.0"是Direct3D 11.0,Direct2D / DirectWrite 1.0和DXGI 1.1。

不推荐使用DirectSound7及以下版本,DirectInput7及以下版本,DirectPlay,DirectDraw,Direct3D 8及以下版本,Managed DirectX 1.1,DirectAnimation和DirectMusic性能图层。 DirectPlay是Windows 8.1中的可选功能,默认情况下处于禁用状态。从Windows Vista开始,从操作系统中删除了Direct3D保留模式,DirectPlay语音和DirectX VB 6.0支持,根本不可用。 DirectMusic"核心"专业音频开发人员(主要是MIDI)编写Win32桌面应用程序仍然支持API。视频编辑Win32桌面应用程序支持DirectShow,但建议使用Media Foundation。

对于Windows应用商店应用和Windows Phone应用,DirectInput,DirectSound,XINPUT 1.3及更低版本,Direct3D 10及以下版本,D3DX,XACT和DirectMusic" Core"不受支持。这些应用程序支持Direct3D 11.1,DXGI 1.2和Direct2D 1.1或更高版本,XInput 1.4和XAudio 2.8。

答案 1 :(得分:2)

来自wikipedia

Microsoft鼓励使用这些DirectX组件:

  • Direct3D(D3D):用于绘制3D图形。 DXGI:用于枚举适配器和监视器以及管理Direct3D 10及更高版本的交换链。
  • Direct2D:用于2D图形。
  • DirectWrite:for fonts。
  • DirectCompute:用于GPU计算。
  • DirectSound3D(DS3D):用于播放3D声音。
  • DirectX Media:包括用于2D / 3D [39]网络动画的DirectAnimation,用于多媒体播放和流媒体的DirectShow,用于网络交互的DirectX转换,以及用于更高级别3D图形的Direct3D保留模式。 DirectShow包含用于音频信号处理的DirectX插件和用于加速视频播放的DirectX视频加速。 DirectX诊断(DxDiag):用于诊断和生成与DirectX相关的组件的报告的工具,例如音频,视频和输入驱动程序。
  • DirectX媒体对象:支持流媒体对象,如编码器,解码器和效果。
  • DirectSetup:用于安装DirectX组件,以及检测当前的DirectX版本。

Microsoft已弃用但仍支持这些DirectX组件:

  • DirectDraw:用于绘制2D图形(光栅图形)。虽然仍被许多游戏和媒体应用程序中的视频渲染器使用,但不赞成使用Direct2D。
  • DirectInput:用于连接输入设备,包括键盘,鼠标,游戏杆或其他游戏控制器。在版本8之后不推荐使用Xbox 360控制器的XInput或键盘和鼠标输入的标准WM_INPUT窗口消息处理。
  • DirectPlay:用于通过局域网或广域网进行通信。在版本8之后不推荐使用Windows Live和Xbox Live游戏。
  • DirectSound:用于播放和录制波形声音。不赞成使用当前的音频库,包括XAudio2(低级音频库)和XACT3(更高级别的音频API)。
  • DirectMusic:用于播放DirectMusic Producer中创作的音轨。自DirectX 8以来不推荐使用XAudio2和XACT3。 DirectX功能以COM样式的对象和接口的形式提供。此外,虽然不是DirectX组件本身,但是托管对象已构建在DirectX的某些部分之上,例如Managed Direct3D [40]和Direct3D 9之上的XNA图形库[41]。