fbpx
维基百科

DirectX

DirectXDirect eXtension縮寫DX)是由微软公司建立的一系列專為多媒體以及遊戲開發的應用程式介面。旗下包含Direct3DDirect2DDirectCompute等等多個不同用途的子部份,因為這一系列API皆以Direct字樣開頭,所以DirectX(只要把X字母替換為任何一個特定API的名字)就成為這一巨大的API系列的統稱。目前最新版本為DirectX 12,隨附於Windows 10作業系統之上。

DirectX
当前版本
  • 12 Ultimate (2021年10月5日;穩定版本)
内置于Windows 95 OSR2
Windows NT 4.0
及之后所有版本
许可协议

DirectX被广泛用于Microsoft Windows、Microsoft Xbox电子游戏开发,并且只能支持这些平台。除了遊戲開發之外,DirectX亦被用於開發許多虛擬三維圖形相關軟體。Direct3D是DirectX中最廣為應用的子模塊,所以有時候這兩個名詞可以互相代稱。

DirectX主要基於C++编程语言,並遵循COM架構。

元件 编辑

DirectX組成的元件有:

  • Direct3D:主要用於繪製3D图形
  • Direct2D:主要提供2D動畫的硬體加速,為DirectDraw的替代者。
  • DirectWrite:主要字體顯示API,提供使用GPU令字體顯示更為平滑,類似ClearType(只支援於Windows Vista/7/8/8.1以上)。
  • DirectInput:用于结合键盘、鼠标、摇杆,或其它的游戏控制器。
  • XInput:主要用於Xbox360的控制器。
  • XAudio2:主要用於低延遲遊戲音頻播放。
  • DirectComputeGPU通用计算API。
  • DirectXMath:針對遊戲優化的高速數學運算API,特別支持單精度浮點運算及矩陣運算,使用SSE2指令集。
  • DirectSetup:用於DirectX元件的安裝,以及檢查DirectX的版本。
  • DirectX Media:包含DirectAnimation可用於2D的網頁動畫,DirectShow可支援多媒體錄音以及資料流媒體,DirectX在網頁上的轉換,還有Direct3D可保留3D图像更清晰的解析。DirectShow亦包含有DirectX插件英语DirectX plugin用於音频信号处理以及DirectX视频加速加速影音播放。
  • DirectX媒体对象化:支援資料流物件,像是編碼、解碼和效果。

廢棄元件 编辑

这些元件曾經也是DirectX的一員,但現在微軟只提供最低程度的維護,也不再建議使用。

历史 编辑

1994年末,微软即将推出新一代操作系统Windows 95。决定新操作系统的最终价值的因素在于究竟新系统能运行哪些程序。微软的三个员工:Craig Eisler、Alex St. John、Eric Engstrom十分关心这个问题,因为不少游戏程序员更喜欢在DOS系统下编写游戏,这意味著,没有多少人愿意为WIN95编写游戏,新操作系统不会获得多少成功。

DOS允许直接访问显卡键盘鼠标声卡以及其他系统硬件设施。而Windows 95出于保护存储系统的目的,限制了对硬件的直接访问,取而代之的是一套更加规范标准的访问方法。微软需要一种方法让程序员在WIN95中也能编写出高效的程序。此时,离新系统发布不到几个月了。St. John和Engstrom联合解决了这个问题,他们将解决方案称为DirectX。

DirectX的第一个版本作为Windows Games SDK发布于1995年9月,它作为Windows API的一部分用以替换Windows 3.1中的DCI和WinGAPI。ATI的一个开发团队为微软带来了基本的游戏图像技术,微软方面,DirectX由专门的团队负责开发,Eisler为团队领导,而St. John和Engstrom则成为主程序设计师。

DirectX出现之前,微软已经将OpenGL包括在Windows NT系统中,而在当时,OpenGL对硬件要求严苛,这限制了一些工程师CAD用户。Direct3D就作为OpenGL的代替品被加入DirectX。随着硬件技术的发展,OpenGL成为行业标准,一场“战役”发生在DirectX的支持者和OpenGL的支持者之间,而且前者只支持Windows平台,而后者支持多平台。在实际应用中,游戏开发者常常两者同时使用,因为DirectX支持许多OpenGL所不支持的功能,比如音效和输入装置。而选择混合使用OpenGL和OpenAL的队伍也在壮大。

由此衍生出的“特别DirectX”也作为微软XboxXbox 360的图形API,这套API由微软和NVIDIA公司共同开发,Xbox API和DirectX 8.1比较相似,但跟其他主機科技一樣不能更新,Xbox版本也叫做DirectXbox,但由于商业销售缘故,还是被简称为Xbox。[1]

2002年,微软发布了DirectX 9,它支持最新的顶点阴影着色器2.0版本,又于2004年4月将shader model 3.0(SM 3.0)加入了DirectX 9.0c。

2005年4月,DirectShow从DirectX移除,加入到Microsoft Platform SDK[2]

2010年6月7日發佈的DirectX SDK是最後獨立發佈的SDK版本,之後的DirectX SDK被整合進新版的Microsoft Windows SDK裡。例如DirectX 11.2 SDK被放在Windows Software Development Kit (SDK) for Windows 8.1裡。

發佈歷史 编辑

DirectX版本 版本编号[3] 作業系統 日期 備註
DirectX 1.0 4.02.0095 1995年9月30日
DirectX 2.0 未知 1996年
DirectX 2.0a 4.03.00.1096 Windows 95和NT 4.0 1996年6月5日
DirectX 3.0 4.04.00.0068 1996年9月15日
4.04.00.0069 之后的DirectX 3.0加入了Direct3D 4.04.00.0069 1996年
DirectX 3.0a 4.04.00.0070 Windows NT 4.0 SP3
1996年12月 最后支持Windows NT 4.0的版本
DirectX 3.0b 4.04.00.0070 1996年12月 3.0a的一个小更新
纠正了一个日文版本下的漏洞
DirectX 4.0 從未發佈[4]
DirectX 5.0 4.05.00.0155 (RC55) Windows NT 5.0的测试版本 1997年7月16日
DirectX 5.2 4.05.01.1600 (RC00) Windows 95發佈的版本 1998年5月5日
4.05.01.1998 (RC0) 只用于Windows 98 1998年6月25日
DirectX 6.0 4.06.00.0318 (RC3) Windows CE上的Dreamcast版本 1998年8月7日
DirectX 6.1 4.06.02.0436 (RC0) 1999年2月3日
DirectX 6.1a 4.06.03.0518 (RC0) 只用于Windows 98 SE 1999年5月5日
DirectX 7.0 4.07.00.0700 (RC1) 1999年9月22日
4.07.00.0700 Windows 2000 2000年2月17日
DirectX 7.0a 4.07.00.0716 (RC0) 2000年3月8日
4.07.00.0716 (RC1) 2000年
DirectX 7.1 4.07.01.3000 (RC1) 只用于Windows Me 2000年8月14日 2D與3D元件分離的最後一版(IDirectDraw7與IDirect3D7)
DirectX 8.0 4.08.00.0400 (RC10) 2000年11月12日 2D與3D元件整合的第一個版本(IDirectGraphic8)與Vertex Shader與Pixel Shader
DirectX 8.0a 4.08.00.0400 (RC14) 最后支持Windows 95的版本 2001年2月5日
DirectX 8.1 4.08.01.0810 Windows XPWindows Server 2003Xbox特别版 2001年10月25日
4.08.01.0881 (RC7) 這個版本用於更早的操作系统
(Windows 98, Windows Me和Windows 2000)
2001年11月8日
DirectX 8.1a 4.08.01.0901(RC?) 2002年 这个版本升级了Direct3D(D3d8.dll)
DirectX 8.1b 4.08.01.0901 (RC7) 2002年6月25日 这个版本修正了DirectShow在Windows 2000上的一个漏洞(Quartz.dll)
DirectX 8.2 4.08.02.0134 (RC0) 和DirectX 8.1b一样,但包含了DirectPlay 8.2 2002年
DirectX 9.0 4.09.00.0900 (RC4) 2002年12月19日 (IDirectGraphic9)與HLSL
DirectX 9.0a 4.09.00.0901 (RC6) 2003年3月26日
DirectX 9.0b 4.09.00.0902 (RC2) 2003年8月13日
DirectX 9.0c 4.09.00.0903 只用于Windows XP SP2
4.09.00.0904 (RC0) 2004年8月4日
4.09.00.0904 Windows XP SP2,Windows Server 2003 SP1,Windows Server 2003 R2和Xbox 360 2004年8月6日
DirectX 9.0c - 双月更新 4.09.00.0904 (RC0) 2006年10月更新是最后支持Windows 98、Windows Me和Windows 2000的版本。[5]2005年12月更新和2006年2月更新增加了对XML的支持 两月更新一次,开始于2004年10月,直到现在,最新版本:DirectX 9.0c Redist Jun 2010(2010年6月)
DirectX 10.0 6.00.6000.16386 Windows Vista 2006年11月30日 開始導入DXGI(DirectX Graphics Infrastructure)架構
DirectX 10.1 6.00.6001.18000 Windows Vista Service Pack 1與Windows Server 2008 2008年2月4日
DirectX 11 6.01.7600.16385 Windows 7,Windows Server 2008 R2 2009年7月22日 Windows 7 RTM一同釋出
6.01.7601.17514 Windows 7 SP1,Windows Server 2008 R2 SP1 2010年11月23日 KB976932,與Windows 7 SP1一同釋出
6.00.6002.18107 Windows Vista SP2,Windows Server 2008 SP2 2009年10月26日 KB971512
DirectX 11.1 6.02.9200.16384 Windows 8 2012年10月26日 與Windows 8一同釋出,Windows 7 SP1升級後部分支持
DirectX 11.2 6.03.9600.16384 Windows 8.1Windows RT 8.1Windows Server 2012 R2 2013年10月18日 包含于操作系统,无独立程序包
DirectX 12 10.00.10240.16384 Windows 10 2015年1月18日 包含于操作系统,无独立程序包,並支持Xbox One
DirectX 12 Ultimate 10.00.19041.0928 Windows 10 build 19042 2020年11月10日 加入DirectX Raytracing Tier 1.1 光線追蹤,VRS(可變速率著色),Mesh Shader,Sampler Feedback(取樣器反饋)

兼容性 编辑

硬件制造商要为每款硬件产品编写驱动程序来支持DX,甚至一些硬件商只编写DX的驱动,这意味着要使用这款硬件就必须安装DX,早期的DirectX版本自带了所有支持DX硬件的驱动程序,后来用户可以通过自动更新系统下载适合的驱动。

一些驅動程式只支持某個版本的DX,DX10之前,所有DirectX版本都保持向下相容性,即新版本相容舊版本,例如安装了DX9的電腦,依然可以執行由DX6编寫的程式碼。安装了DX11的電腦,依然可以執行由DX9C编寫的程式碼,不過小部分依然需要安裝DX9C。

各種版本 编辑

.NET Framework 编辑

2002年间,微软发布一个兼容.NET Framework的DX版本,因而允许程序员充分利用.NET的特性编写DX程序,这套API被称为Managed DirectX英语Managed DirectX(MDX)。2005年微軟在DirectX 9.0c版本上开发一套正对.NET平台的Managed API,即Direct 9.0 for Managed Code 1.0(简称Managed DirectX)。

2005年12月、2006年2月、4月、8月,微软相继发布DirectX的更新版本,使之支持.NET 2.0框架。然而.NET 2.0版本至今只是个测试版。

GDC 2006期间,微软终止開發Managed DirectX,改推出了XNA framework,是一組基于Managed DirectX,帮助程序员更轻松的编写游戏的框架,将DirectX,Shader,高级着色器语言(HLSL)以及其他工具整合到一起。2006年12月11日,微软对Windows XP提供免费的XNA Game Studio Express RTM的下载服务。

DirectX 10 编辑

Windows Vista及以上的操作系统才支持DirectX 10(也就是說,DirectX 9是最後一個支援Windows XP的版本),比起之前的版本,DX10做了重大的变动:增加了XInput用以处理XBOX 360手柄的支持,DirectSound将被XACT替换。DirectX 10也减少了对音效硬件加速的支持,更多的使用CPU来运算音效。

Direct3D 10.1是DirectX 10的改進版,隨Vista SP1出貨。

DirectX 11 编辑

DirectX 11是DirectX 10的改良,只對效能和擴展性進行最佳化,主要改進在提供Shader Model 5.0,加入對MSAA的直接采樣控制。大幅改進多執行緒效能,提供三個獨立的介面。進一步提高紋理壓縮,鑲嵌(tessellation)處理的效能[6][7],並加入Compute Shader(DirectCompute)來支援GPGPU,提供新版HLSL語言。

DirectX 11.1是DirectX 11的改进版,随Windows 8出货。Windows 7 SP1升級後部分支持。

DirectX 11.2是DirectX 11.1的改進版,隨Windows 8.1出貨。

DirectX 12 编辑

DirectX 12將更好支援多核心、多執行緒的最佳化,降低GPU處理瓶頸,並強化跨平台功能,可有效支援微軟各式平台,並提升硬體功耗表現。隨Windows 10 出貨並支持Xbox One。

2019年3月13日,微軟於DirectX Developer Blog表示,未來魔獸世界8.1.5的遊戲更新將使Windows 7 平台用戶也能體驗 DirectX 12的多線程渲染優勢,並提高遊戲效能。且未來陸續也會有其他廠商推出相關更新,将更多的 D3D12 游戏移植到 Windows 7。[8]

DirectX标志的变更 编辑

纵观DX的各个版本,X都是一个核辐射警告标志或一只螺旋桨叶片。这个设计引发了不小的争议,因为DX计划的原名叫做“曼哈顿计划”,这个名称来源于美国的核武器研制计划,最终美国使用核武器轰炸了日本的广岛长崎,这在暗示DX产品要替代日本在电子游戏方面的霸主地位。这一说法被微软公开否定,微軟表示这只是出于艺术设计的考虑。[9]

参见 编辑

其他API 编辑

参考资料 编辑

  1. ^ J. Allard, PC Pro采访 (页面存档备份,存于互联网档案馆), 2004 4月
  2. ^ 存档副本. [2007-06-26]. (原始内容于2007-01-25). 
  3. ^ 版本编号由微软的DxDiag工具获得(4.09.0000.0900以及更高版本,在开始菜单|运行中输入DxDiag即可),编号统一使用x.xx.xxxx.xxxx格式,而微软网站上给出的编号使用x.xx.xx.xxxx格式,如果网站上编号为4.09.00.0904,那么在电脑上安装后,会变为4.09.0000.0904。
  4. ^ DirectX 4從未發佈過,Raymond Chen在他的書《The Old New Thing》中解釋說,DirectX 3發佈之後,微軟開始同時開發DX4和5,只是增加一些小特性的DX4版本會在短時間內完成,而DX5會增加大量新內容,遊戲開發者對DX4新特性的失望導致了DX4計劃的擱置。之後,微軟將重心完全轉移到DX5開發上。 Chen, Raymond. Etymology and History. The Old New Thing 第一版. Pearson Education. 2006年: pg. 330. ISBN 978-0-321-44030-3. 
  5. ^ DirectX End-User Runtimes (October 2006). [2008-07-24]. (原始内容于2019-09-24). 
  6. ^ What's next for DirectX? A DirectX 11 overview—A DirectX 11 overview. Elite Bastards. 2008-09-01 [2008-09-04]. (原始内容于2008-09-04). 
  7. ^ DirectX 11: A look at what's coming. bit-tech.net. 2008-09-17 [2011-01-27]. (原始内容于2011-06-15). 
  8. ^ World of Warcraft uses DirectX 12 running on Windows 7. Microsoft DirectX Developer Blog. 2019-03-13 [2019-03-13]. (原始内容于2019-03-12) (美国英语). 
  9. ^ David Craddock. . Shack News. 2007年3月 [2007-04-04]. (原始内容存档于2007-04-07). 

外部連結 编辑

  • Microsoft's MSDN文檔&資源中心(页面存档备份,存于互联网档案馆
  • DirectSetup Documentation(页面存档备份,存于互联网档案馆
  • OpenGL 3 & DirectX 11: The War Is Over : Introduction - Tom's Hardware
  • 中關村在線 - 見證3D進化之路-DirectX發展歷史回顧(页面存档备份,存于互联网档案馆
  • DirectX知識庫 / 程式設計俱樂部(页面存档备份,存于互联网档案馆

directx, direct, extension, 縮寫, 是由微软公司建立的一系列專為多媒體以及遊戲開發的應用程式介面, 旗下包含direct3d, direct2d, directcompute等等多個不同用途的子部份, 因為這一系列api皆以direct字樣開頭, 所以, 只要把x字母替換為任何一個特定api的名字, 就成為這一巨大的api系列的統稱, 目前最新版本為, 隨附於windows, 10作業系統之上, 当前版本12, ultimate, 2021年10月5日, 穩定版本, 内置于windows. DirectX Direct eXtension 縮寫 DX 是由微软公司建立的一系列專為多媒體以及遊戲開發的應用程式介面 旗下包含Direct3D Direct2D DirectCompute等等多個不同用途的子部份 因為這一系列API皆以Direct字樣開頭 所以DirectX 只要把X字母替換為任何一個特定API的名字 就成為這一巨大的API系列的統稱 目前最新版本為DirectX 12 隨附於Windows 10作業系統之上 DirectX当前版本12 Ultimate 2021年10月5日 穩定版本 内置于Windows 95 OSR2Windows NT 4 0及之后所有版本许可协议最终用户许可协议DirectX被广泛用于Microsoft Windows Microsoft Xbox电子游戏开发 并且只能支持这些平台 除了遊戲開發之外 DirectX亦被用於開發許多虛擬三維圖形相關軟體 Direct3D是DirectX中最廣為應用的子模塊 所以有時候這兩個名詞可以互相代稱 DirectX主要基於C 编程语言 並遵循COM架構 目录 1 元件 1 1 廢棄元件 2 历史 2 1 發佈歷史 3 兼容性 4 各種版本 4 1 NET Framework 4 2 DirectX 10 4 3 DirectX 11 4 4 DirectX 12 5 DirectX标志的变更 6 参见 7 其他API 8 参考资料 9 外部連結元件 编辑DirectX組成的元件有 Direct3D 主要用於繪製3D图形 Direct2D 主要提供2D動畫的硬體加速 為DirectDraw的替代者 DirectWrite 主要字體顯示API 提供使用GPU令字體顯示更為平滑 類似ClearType 只支援於Windows Vista 7 8 8 1以上 DirectInput 用于结合键盘 鼠标 摇杆 或其它的游戏控制器 XInput 主要用於Xbox360的控制器 XAudio2 主要用於低延遲遊戲音頻播放 DirectCompute GPU通用计算API DirectXMath 針對遊戲優化的高速數學運算API 特別支持單精度浮點運算及矩陣運算 使用SSE2指令集 DirectSetup 用於DirectX元件的安裝 以及檢查DirectX的版本 DirectX Media 包含DirectAnimation可用於2D的網頁動畫 DirectShow可支援多媒體錄音以及資料流媒體 DirectX在網頁上的轉換 還有Direct3D可保留3D图像更清晰的解析 DirectShow亦包含有DirectX插件 英语 DirectX plugin 用於音频信号处理以及DirectX视频加速加速影音播放 DirectX媒体对象化 支援資料流物件 像是編碼 解碼和效果 廢棄元件 编辑 这些元件曾經也是DirectX的一員 但現在微軟只提供最低程度的維護 也不再建議使用 DirectDraw 用於繪製2D图形 不建議使用 雖然目前仍有大量的使用者 現開始被Direct2D取代 DirectInput 用於結合鍵盤 滑鼠 搖桿 或其它的遊戲控制器 自8 0之後就不再更新 DirectPlay 用於網路遊戲連線溝通 配合DirectInput使用 自8 0後就不再更新 DirectSound 用於錄音 記錄波形音效已被XAudio2取代 DirectMusic 用於DirectMusic Producer的錄音 历史 编辑1994年末 微软即将推出新一代操作系统Windows 95 决定新操作系统的最终价值的因素在于究竟新系统能运行哪些程序 微软的三个员工 Craig Eisler Alex St John Eric Engstrom十分关心这个问题 因为不少游戏程序员更喜欢在DOS系统下编写游戏 这意味著 没有多少人愿意为WIN95编写游戏 新操作系统不会获得多少成功 DOS允许直接访问显卡 键盘 鼠标 声卡以及其他系统硬件设施 而Windows 95出于保护存储系统的目的 限制了对硬件的直接访问 取而代之的是一套更加规范标准的访问方法 微软需要一种方法让程序员在WIN95中也能编写出高效的程序 此时 离新系统发布不到几个月了 St John和Engstrom联合解决了这个问题 他们将解决方案称为DirectX DirectX的第一个版本作为Windows Games SDK发布于1995年9月 它作为Windows API的一部分用以替换Windows 3 1中的DCI和WinGAPI ATI的一个开发团队为微软带来了基本的游戏图像技术 微软方面 DirectX由专门的团队负责开发 Eisler为团队领导 而St John和Engstrom则成为主程序设计师 DirectX出现之前 微软已经将OpenGL包括在Windows NT系统中 而在当时 OpenGL对硬件要求严苛 这限制了一些工程师和CAD用户 Direct3D就作为OpenGL的代替品被加入DirectX 随着硬件技术的发展 OpenGL成为行业标准 一场 战役 发生在DirectX的支持者和OpenGL的支持者之间 而且前者只支持Windows平台 而后者支持多平台 在实际应用中 游戏开发者常常两者同时使用 因为DirectX支持许多OpenGL所不支持的功能 比如音效和输入装置 而选择混合使用OpenGL和OpenAL的队伍也在壮大 由此衍生出的 特别DirectX 也作为微软Xbox和Xbox 360的图形API 这套API由微软和NVIDIA公司共同开发 Xbox API和DirectX 8 1比较相似 但跟其他主機科技一樣不能更新 Xbox版本也叫做DirectXbox 但由于商业销售缘故 还是被简称为Xbox 1 2002年 微软发布了DirectX 9 它支持最新的顶点阴影着色器2 0版本 又于2004年4月将shader model 3 0 SM 3 0 加入了DirectX 9 0c 2005年4月 DirectShow从DirectX移除 加入到Microsoft Platform SDK 2 2010年6月7日發佈的DirectX SDK是最後獨立發佈的SDK版本 之後的DirectX SDK被整合進新版的Microsoft Windows SDK裡 例如DirectX 11 2 SDK被放在Windows Software Development Kit SDK for Windows 8 1裡 發佈歷史 编辑 DirectX版本 版本编号 3 作業系統 日期 備註DirectX 1 0 4 02 0095 1995年9月30日DirectX 2 0 未知 1996年DirectX 2 0a 4 03 00 1096 Windows 95和NT 4 0 1996年6月5日DirectX 3 0 4 04 00 0068 1996年9月15日4 04 00 0069 之后的DirectX 3 0加入了Direct3D 4 04 00 0069 1996年DirectX 3 0a 4 04 00 0070 Windows NT 4 0 SP3 1996年12月 最后支持Windows NT 4 0的版本DirectX 3 0b 4 04 00 0070 1996年12月 3 0a的一个小更新纠正了一个日文版本下的漏洞DirectX 4 0 從未發佈 4 DirectX 5 0 4 05 00 0155 RC55 Windows NT 5 0的测试版本 1997年7月16日DirectX 5 2 4 05 01 1600 RC00 為Windows 95發佈的版本 1998年5月5日4 05 01 1998 RC0 只用于Windows 98 1998年6月25日DirectX 6 0 4 06 00 0318 RC3 Windows CE上的Dreamcast版本 1998年8月7日DirectX 6 1 4 06 02 0436 RC0 1999年2月3日DirectX 6 1a 4 06 03 0518 RC0 只用于Windows 98 SE 1999年5月5日DirectX 7 0 4 07 00 0700 RC1 1999年9月22日4 07 00 0700 Windows 2000 2000年2月17日DirectX 7 0a 4 07 00 0716 RC0 2000年3月8日4 07 00 0716 RC1 2000年DirectX 7 1 4 07 01 3000 RC1 只用于Windows Me 2000年8月14日 2D與3D元件分離的最後一版 IDirectDraw7與IDirect3D7 DirectX 8 0 4 08 00 0400 RC10 2000年11月12日 2D與3D元件整合的第一個版本 IDirectGraphic8 與Vertex Shader與Pixel ShaderDirectX 8 0a 4 08 00 0400 RC14 最后支持Windows 95的版本 2001年2月5日DirectX 8 1 4 08 01 0810 Windows XP Windows Server 2003和Xbox特别版 2001年10月25日4 08 01 0881 RC7 這個版本用於更早的操作系统 Windows 98 Windows Me和Windows 2000 2001年11月8日DirectX 8 1a 4 08 01 0901 RC 2002年 这个版本升级了Direct3D D3d8 dll DirectX 8 1b 4 08 01 0901 RC7 2002年6月25日 这个版本修正了DirectShow在Windows 2000上的一个漏洞 Quartz dll DirectX 8 2 4 08 02 0134 RC0 和DirectX 8 1b一样 但包含了DirectPlay 8 2 2002年DirectX 9 0 4 09 00 0900 RC4 2002年12月19日 IDirectGraphic9 與HLSLDirectX 9 0a 4 09 00 0901 RC6 2003年3月26日DirectX 9 0b 4 09 00 0902 RC2 2003年8月13日DirectX 9 0c 4 09 00 0903 只用于Windows XP SP24 09 00 0904 RC0 2004年8月4日4 09 00 0904 Windows XP SP2 Windows Server 2003 SP1 Windows Server 2003 R2和Xbox 360 2004年8月6日DirectX 9 0c 双月更新 4 09 00 0904 RC0 2006年10月更新是最后支持Windows 98 Windows Me和Windows 2000的版本 5 2005年12月更新和2006年2月更新增加了对XML的支持 两月更新一次 开始于2004年10月 直到现在 最新版本 DirectX 9 0c Redist Jun 2010 2010年6月 DirectX 10 0 6 00 6000 16386 Windows Vista 2006年11月30日 開始導入DXGI DirectX Graphics Infrastructure 架構DirectX 10 1 6 00 6001 18000 Windows Vista Service Pack 1與Windows Server 2008 2008年2月4日DirectX 11 6 01 7600 16385 Windows 7 Windows Server 2008 R2 2009年7月22日 與Windows 7 RTM一同釋出6 01 7601 17514 Windows 7 SP1 Windows Server 2008 R2 SP1 2010年11月23日 KB976932 與Windows 7 SP1一同釋出6 00 6002 18107 Windows Vista SP2 Windows Server 2008 SP2 2009年10月26日 KB971512DirectX 11 1 6 02 9200 16384 Windows 8 2012年10月26日 與Windows 8一同釋出 Windows 7 SP1升級後部分支持DirectX 11 2 6 03 9600 16384 Windows 8 1 Windows RT 8 1 Windows Server 2012 R2 2013年10月18日 包含于操作系统 无独立程序包DirectX 12 10 00 10240 16384 Windows 10 2015年1月18日 包含于操作系统 无独立程序包 並支持Xbox OneDirectX 12 Ultimate 10 00 19041 0928 Windows 10 build 19042 2020年11月10日 加入DirectX Raytracing Tier 1 1 光線追蹤 VRS 可變速率著色 Mesh Shader Sampler Feedback 取樣器反饋 兼容性 编辑硬件制造商要为每款硬件产品编写驱动程序来支持DX 甚至一些硬件商只编写DX的驱动 这意味着要使用这款硬件就必须安装DX 早期的DirectX版本自带了所有支持DX硬件的驱动程序 后来用户可以通过自动更新系统下载适合的驱动 一些驅動程式只支持某個版本的DX DX10之前 所有DirectX版本都保持向下相容性 即新版本相容舊版本 例如安装了DX9的電腦 依然可以執行由DX6编寫的程式碼 安装了DX11的電腦 依然可以執行由DX9C编寫的程式碼 不過小部分依然需要安裝DX9C 各種版本 编辑 NET Framework 编辑 2002年间 微软发布一个兼容 NET Framework的DX版本 因而允许程序员充分利用 NET的特性编写DX程序 这套API被称为Managed DirectX 英语 Managed DirectX MDX 2005年微軟在DirectX 9 0c版本上开发一套正对 NET平台的Managed API 即Direct 9 0 for Managed Code 1 0 简称Managed DirectX 2005年12月 2006年2月 4月 8月 微软相继发布DirectX的更新版本 使之支持 NET 2 0框架 然而 NET 2 0版本至今只是个测试版 GDC 2006期间 微软终止開發Managed DirectX 改推出了XNA framework 是一組基于Managed DirectX 帮助程序员更轻松的编写游戏的框架 将DirectX Shader 高级着色器语言 HLSL 以及其他工具整合到一起 2006年12月11日 微软对Windows XP提供免费的XNA Game Studio Express RTM的下载服务 DirectX 10 编辑 Windows Vista及以上的操作系统才支持DirectX 10 也就是說 DirectX 9是最後一個支援Windows XP的版本 比起之前的版本 DX10做了重大的变动 增加了XInput用以处理XBOX 360手柄的支持 DirectSound将被XACT替换 DirectX 10也减少了对音效硬件加速的支持 更多的使用CPU来运算音效 Direct3D 10 1是DirectX 10的改進版 隨Vista SP1出貨 DirectX 11 编辑 DirectX 11是DirectX 10的改良 只對效能和擴展性進行最佳化 主要改進在提供Shader Model 5 0 加入對MSAA的直接采樣控制 大幅改進多執行緒效能 提供三個獨立的介面 進一步提高紋理壓縮 鑲嵌 tessellation 處理的效能 6 7 並加入Compute Shader DirectCompute 來支援GPGPU 提供新版HLSL語言 DirectX 11 1是DirectX 11的改进版 随Windows 8出货 Windows 7 SP1升級後部分支持 DirectX 11 2是DirectX 11 1的改進版 隨Windows 8 1出貨 DirectX 12 编辑 DirectX 12將更好支援多核心 多執行緒的最佳化 降低GPU處理瓶頸 並強化跨平台功能 可有效支援微軟各式平台 並提升硬體功耗表現 隨Windows 10 出貨並支持Xbox One 2019年3月13日 微軟於DirectX Developer Blog表示 未來魔獸世界8 1 5的遊戲更新將使Windows 7 平台用戶也能體驗 DirectX 12的多線程渲染優勢 並提高遊戲效能 且未來陸續也會有其他廠商推出相關更新 将更多的 D3D12 游戏移植到 Windows 7 8 DirectX标志的变更 编辑纵观DX的各个版本 X都是一个核辐射警告标志或一只螺旋桨叶片 这个设计引发了不小的争议 因为DX计划的原名叫做 曼哈顿计划 这个名称来源于美国的核武器研制计划 最终美国使用核武器轰炸了日本的广岛和长崎 这在暗示DX产品要替代日本在电子游戏方面的霸主地位 这一说法被微软公开否定 微軟表示这只是出于艺术设计的考虑 9 nbsp DirectX 1 0 6 0 nbsp DirectX 7 0 nbsp DirectX 8 0 nbsp DirectX 9 0 nbsp DirectX 10 0 nbsp DirectX 11 0 nbsp DirectX 12 Ultimate参见 编辑 nbsp 微软主题 图形设备接口 GDI GGI 通用图形接口 Graphics pipeline DxDiag DirectX plugin ActiveX Microsoft XNA 支持DirectX 10游戏列表 支援DirectX 11遊戲列表其他API 编辑Metal Mantle SDL OpenMAX OpenML OpenGL OpenAL参考资料 编辑 J Allard PC Pro采访 页面存档备份 存于互联网档案馆 2004 4月 存档副本 2007 06 26 原始内容存档于2007 01 25 版本编号由微软的DxDiag工具获得 4 09 0000 0900以及更高版本 在开始菜单 运行中输入DxDiag即可 编号统一使用x xx xxxx xxxx格式 而微软网站上给出的编号使用x xx xx xxxx格式 如果网站上编号为4 09 00 0904 那么在电脑上安装后 会变为4 09 0000 0904 DirectX 4從未發佈過 Raymond Chen在他的書 The Old New Thing 中解釋說 DirectX 3發佈之後 微軟開始同時開發DX4和5 只是增加一些小特性的DX4版本會在短時間內完成 而DX5會增加大量新內容 遊戲開發者對DX4新特性的失望導致了DX4計劃的擱置 之後 微軟將重心完全轉移到DX5開發上 Chen Raymond Etymology and History The Old New Thing 第一版 Pearson Education 2006年 pg 330 ISBN 978 0 321 44030 3 DirectX End User Runtimes October 2006 2008 07 24 原始内容存档于2019 09 24 What s next for DirectX A DirectX 11 overview A DirectX 11 overview Elite Bastards 2008 09 01 2008 09 04 原始内容存档于2008 09 04 DirectX 11 A look at what s coming bit tech net 2008 09 17 2011 01 27 原始内容存档于2011 06 15 World of Warcraft uses DirectX 12 running on Windows 7 Microsoft DirectX Developer Blog 2019 03 13 2019 03 13 原始内容存档于2019 03 12 美国英语 David Craddock Alex St John Interview Shack News 2007年3月 2007 04 04 原始内容存档于2007 04 07 外部連結 编辑Microsoft s MSDN文檔 amp 資源中心 页面存档备份 存于互联网档案馆 DirectSetup Documentation 页面存档备份 存于互联网档案馆 GameDev 關於DX的資料 OpenGL 3 amp DirectX 11 The War Is Over Introduction Tom s Hardware 中關村在線 見證3D進化之路 DirectX發展歷史回顧 页面存档备份 存于互联网档案馆 DirectX知識庫 程式設計俱樂部 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title DirectX amp oldid 74640314, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。