流氓教父风靡异世2009年9月22日ATI发布了支持DX11的基于Cypress核心的HD5800系列显卡,而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客户端Beta 1测试版。而此前一天,即1月8日,微软将率先发布Windows 7服务器版本的Beta 1测试版。
在微软发布的Windows 7 Beta版本中,一些已经安装使用的用户的发现了DirectX 11已经包含其中了。DirectX 11作为3D图形接口,不仅支持未来的DX11硬件,还向下兼容当前的DirectX 10和10.1硬件。DirectX 11增加了新的计算shader技术,可以允许GPU从事更多的通用计算工作,而不仅仅是3D运算,这可以鼓励开发人员更好地将GPU作为并行处理器使用。
DX11新增了计算着色器(Compute Shader)代码示例,在今年的NVISION大会上,微软就透漏了这点,并通过SIGGRAPH以及GameFest 2008大会上放出的幻灯片,我们可以进行一些深入的研究。此外,DX11特性的提前放出,对于目前DX10以及DX10.1硬件用户而言也大有裨益,因为AMD和NVIDIA可以照此提前开发适当的驱动支持。
DirectX 11的诸多特性似乎暗示我们,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过渡过程中的益处所在。
|