2009年9月22日,ATI发布了基于Cypress core的HD5800系列显卡,支持DX11,而NVIDIA刚刚做出支持DX11的GT300芯片样片。回顾DirectX的历史,从1995年Windows 95中的DX1.0开始,一直保持着快速的升级速度,仅DX9系列就有几个版本持续了四年。从DX10更新到DX11用了两年时间,但也不算太快。
虽然硬件已经支持DirectX11,但是支持DirectX11的游戏要到2010年才会大量出现。
我们知道,DX10.1会是DX10的最后一次升级,而且是非关键的,然后微软会直接进入DX11。根据之前的报道,DX11的主要目标仍然是降低游戏开发的难度和成本,同时更有效地发挥新硬件的能力,提高物理效果和游戏AI,增强屏幕细节的复杂性,全面优化多核处理器。
2009年1月9日星期五,微软将向公众发布Windows 7客户端的测试版。前一天,1月8日,微软将率先发布Windows 7服务器版Beta 1测试版。
在微软发布的Windows 7测试版中,一些已经安装使用的用户发现DirectX 11已经包含在内。DirectX 11作为一个3D图形界面,不仅支持未来的DX11硬件,在向后兼容性上也支持目前的DirectX 10和10.1硬件。DirectX 11增加了新的计算着色器技术,可以让GPU做更一般的计算工作,而不仅仅是3D计算,这可以鼓励开发者更好地使用GPU作为并行处理器。
特性
DX11有一个新的计算着色器代码示例,这是微软在今年的NVISION大会上透露的。通过SIGGRAPH和GameFest 2008大会上发布的幻灯片,我们可以做一些深入的研究。此外,DX11特性的提前发布也有利于当前的DX10和DX10.1硬件用户,因为AMD和NVIDIA可以提前开发合适的驱动支持。
DirectX 11的许多特性似乎都表明,它被迅速采用的时机已经成熟,尤其是在微软的Windows 7发布之后,这种趋势将势不可挡。如今,HLSL(High Level Shading Language,高级着色语言)已经完全成熟,这势必会让DX11在很多游戏开发者眼中更具吸引力,越来越多的人开始意识到DX10实际上是DX11的子集,这将推动未来DirectX 11的快速采用。此外,DX11可以使并行编程变得更容易,其独特的功能将鼓励开发人员大胆而快速地采用这种API。DirectX 11同时兼容Vista操作系统,用户不必担心无法升级,而Windows 7与生俱来的魅力将在很大程度上促使Windows XP用户做出升级的决定。也就是说,对于开发者来说,市场上会有一个足够大的系统群可以运行DX11。
微软承诺DirectX 10可以带来革命性的视觉体验和渲染技术,结果却不一样,但可以肯定的是DirectX 11可能最终会兑现这个承诺。虽然我们现在还看不到DirectX 11独有功能的效果,但这种新API的普及将对刺激及时3D绘图技术的不断进步大有裨益。
从DirectX 6到DirectX 9,微软一直在让他们的编程API从一个固定的功能性通信媒介和动态数据结构进化到一个丰满的、可编程的、深度控制的绘图硬件环境。从DX9到DX10的演变可以说是一次升华:DX9的可编程性得到了进一步的拓展和延伸,在新一代硬件的作用下变得更加深入和灵活。此外,微软还通过各种手段提高了DX10的稳定性和灵活性。但是DirectX 11的演进有很多不同之处。
为了最大化可编程性,DX11宁愿失去一些原来的结构有效性。微软DirectX 11内置了DirectX 10/10.1的确切父集,这让DirectX 11无形中增加了不少精彩的潜力。尤其是DX10代码会变成可以选择不执行一些高级特性的DX11代码,反过来,DX11可以运行在同级别的所有硬件上。当然,对于DX10来说,并不是所有的DX11功能都可用,但这意味着开发者可以用DX11同时开发DX10和DX11硬件,而不用考虑它们是完全分离的:因为它们是相同的,只有一个是另一个的子集功能。但是,如果应用了一些DX11特有的特效(如tessellator或compute shader),就有必要区分代码路径,但这是从DX10过渡到DX11的好处。