正文内容 评论(0)
[3D时代——PC篇3,一流的标准——DirectX]
在Microsoft推出Windows95的同时,3D化的发展也开始了。当时每个主流图形芯片公司都有自己的API,如 3dfx的Glide、PowerVR的PowerSGL、ATI的3DCIF等,这混乱的竞争局面让软硬件的开发效率大为降低,Microsoft对此极为担忧。Microsoft很清楚业界需要一个通用的标准,并且最终一定会有一个通用标准,如果不是Microsoft来做的话也会有别人来做。因此Microsoft决定开发一套通用的业界标准。

虽然DirectX的研发和3D化是同步的,但DirectX并不是专为3D游戏开发的图形接口,DirectX的功能是非常全面的,主要包含:DirectInput(输入相关)、DirectSetup(Setup相关)、DirectDraw(2D绘图)、DirectSound(声音相关)、DirectMusic(MIDI相关)、DirectShow(动画播放)、DirectAnimation(整合动画环境)、Direct3D(3D绘图)和DirectPlay(网络相关),共10个重要组成部分。DirectX的目标几乎包括了所有的PC硬件,是一整套完整的PC接口方案。
尽管DirectX开发时Microsoft已经是最大的PC操作系统提供商了,但DirectX的开发并不是一帆风顺,也是一步一步脚踏实地的争取来的。
Windows95问世后不久,DirectX 1.0就完成了。由于当时正是3Dfx春风得意的时候,身为业界老大的DirectX也没有获得多少硬件厂商的支持,DirectX 1.0还没有Direct3D部分。
之后发布的DirectX 2.0在1.0的基础上增加了Direct3D技术,采用了更为友好的程序设置界面并更正了一些应用程序的接口问题。DirectX的主体结构在2.0时已经基本完成了。
DirectX 3.0基本就是DirectX 2.0的升级版,和DirectX 2.0相比变化不大。DirectX 3.0对DirectSound和DirectPlay进行了一些修改和升级。DirectX 3.0集成了3D效果,但还处于尝试阶段。此时DirectX已经获得了一些软硬件厂商的支持,俨然和OpenGL、Glide成鼎足之势。
可能是开发上发生了什么变故,Microsoft越过4.0直接推出了DirectX 5.0。DirectX 5.0在Direct3D部分作出了很大的增强,加入了雾化效果、Alpha混合等3D特效,使3D游戏中的空间感和真实感得以增强,还加入了S3的纹理压缩技术。同时在DirectInput上也作了些许改动,能够支持更多的设备。DirectX从5.0开始领先于OpenGL和Glide,并保持至今。
DirectX 6.0推出时,3Dfx的Voodoo系列已经没落,Glide也被厂商放弃,DirectX则得到了业界最广泛的支持。DirectX 6.0中加入了双线性过滤、三线性过滤等优化3D图像质量的技术。
DirectX 7.0提供了对T&L的支持,T&L技术可以把部分3D运算移交给GPU完成,从而减低了CPU的处理负担,提高了整体的运算效率。拥有T&L显示卡,使用DirectX 7.0,即使没有高速的CPU,同样能流畅的跑3D游戏。
DirectX 8.0在3D运算上再次作出了重大的改进,首次引入了Vertex Shader和Pixel Shader技术,让GPU的处理范围更为广阔,更大程度的解放了CPU对3D图形的运算。DirectX 8.0的推出让显卡也进入了一个全新的时代。
2002年底,Microsoft发布了DirectX9.0。DirectX 9中Pixel Shader单元已达到浮点的渲染精度,传统的硬件T&L单元被取消。同时Vertex Shader和Pixel Shader也全部进化为2.0,在3D图形的构建效率上再次提高了数倍。
经过不断的改进和演化,DirectX最终成为了业界的通用标准,这使得软硬件厂商在开发效率上也大为提高,不会再出现过去的混乱局面了。Microsoft的脚步并未停止。
Microsoft在2007年即将推出的DirectX 10又再次对3D元算部分作出了重大的改进,Vertex Shader和Pixel Shader步T&L的后尘,将被取消。取而代之的是Unified Shaders(统一渲染架构),在新的架构下,GPU的应用效率再次大幅度的提高到新的水平,显卡的应用范畴也更为广泛。DirectX 10还带来了虚拟显存技术、整数指令集等全新的GPU技术,其所引起的显卡更新换代已经开始。
我们期待着DirectX 10给我们带来全新的显示技术,而DirectX最终走向何方我们也将拭目以待。

