DirectX诞生之初业界已经有众多3D API标准,包括非常成功的OpenGL和Glide,它们被用于图形、影像服务器,制作电影、科教片等等。而微软最初的DirectX则相对简陋,无论是硬件制造商还是软件开放商,对当时的DirectX并不看好,但微软帝国的推动力还是凭借实力把这个API逐渐推到了业界主导的位置,它的历程其实就是3D娱乐的成长历程。
DirectX 1至DirectX 6,后来者攀至主流
DirectX出现是在Windows发布后,Windows3.1操作系统对多媒体的支持能力很差,刚刚推出的DirectX标准得不到大量硬件、软件的支持,基本形同虚设。但是随着Windows 95的发布,DirectX的命运也由此改变。当DirectX升级到了2.0时,标志性的Direct Draw诞生,而且这个时期也有重量级的游戏厂商看好DirectX,Westwood RedAlert和Blizzard Diablo就支持DirectX。DirectX2.0的D3D雏形基本完成,SEGA的VR战士的PC版本就是基于DirectX 2.0移植的,Direct 3D魅力已经初显。
1997年微软发布了最后一个版本的Windows95,同年发布了DirectX 3.0,D3D开始与OpenGL、Glide正面竞争。这个时候开始出现了真正的3D娱乐加速卡,如3DFX的Voodoo,Nvidia的Riva128,Intel的I740,其中Riva128,Intel的I740支持Direct X。DirectX3.0发布不久后DirectX5.0到来。最新的D3D效果可以与当时的OpenGL平分秋色,在游戏系统的兼容性方面作除了了很大改善。
在DirectX5.0发布不久第二代3D加速卡问世了,这一代3D加速卡借助DirectX 6.0的技术争得不可开交。主要代表
显卡是NVIDIA的Riva TNT,3Dfx的VooDoo2 SLI、VooDoo3和
ATI的Rage 128等。DirectX 6的3D效果更多,而且借助硬件的强大性能,可以渲染出高分辨率下的32位色的3D效果,这使PCI总线技术的Voodoo系列败下阵来,它只能支持800x600下的16位色渲染,而AGP架构的产品占了上风。
DirectX 7至DirectX 9,主导3D API
DirectX7的发布又一次把显卡市场进行重新整合,DirectX7最大的特色就是支持T&L(坐标转换和光源)。 在T&L问世之前,位置转换和灯光都需要CPU来计算,CPU速度越快,游戏表现越流畅。使用了T&L功能后,这两种效果的计算用显示卡的GPU(可以理解为显示卡的CPU)来计算,这样就可以把CPU从繁忙的劳动中解脱出来,让CPU做他该作的事情,比如逻辑运算、数据计算等等。
2001年微软发布了DirectX 8,一场显卡革命开始,它首次引入了“Shader(着色器)”概念,同时具备Pixel Shader(像素着色器)与Vertex Shader(顶点着色器)。通过着色器可以实现较DirectX 7时代复杂的多得视觉效果,如真实的水面动态波纹光影。同期Madonion(就是今天的Futuremark)发布了基于DirectX 8的3Dmark2001显卡测试软件,它支持DirectX 8的全部特效。此时的主要代表显卡是NVIDIA的Geforce 3,后期ATI的Radeon8500。
2002年底,微软发布DirectX 9.0,DirectX 9.0相比DirectX 8升级Pixel Shader和Vertex Shader版本至2.0。Pixel Shader 2.0具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,理论上对材质贴图的分辨率的精度提高无限多;而Pixel Shader 2.0可以支持160个硬件指令,同时操作16个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可操作的指令数可以任意长,电影级别的显示效果轻而易举的实现。 Vertex Shader 2.0通过增加Vertex程序的灵活性,新的控制指令用通用的程序代替以前专用的单独着色程序;增加循环操作指令;扩展着色指令个数。 另外,DirectX 9.0增加对浮点数据的处理功能,使最终处理的色彩格式达到电影级别。突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。
后来出现的DirectX 9.0c再次把Pixel Shader和Vertex Shader版本升级至3.0。Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令数都大幅上升至65535个,API增加全新的动态程序流控制、 位移贴图、多渲染目标(MRT)、Subsurface scattering(次表面散射)、Soft shadows(柔和阴影)、Environmental and ground shadows(环境和地面阴影)、Global illumination(全局照明)等新技术特性,使得GeForce 6、GeForce7系列以及Radeon X1000系列立刻为新一代游戏以及具备无比真实感、幻想般的复杂的数字世界和逼真的角色在影视品质的环境中活动提供强大动力。
DirectX 10,革命性的新一代
DirectX 10作为最新的3D API和微软的超人气最新操作系统Window Vista捆绑推出,这是一个革命性的API,在着色器方面做出了巨大的改进。DirectX 10 将完全放弃GPU当中的固定比率顶点/像素着色器分工模式,使用同一架构的着色器,将GPU行为的自由化,支持多种任务。DirectX 10引入一种新的几何着色器,它能够在GPU内创建顶点、对象并对其进行各种操作,大大降低CPU系统开销。
DirectX 10还支持Shader Model 4.0技术和Higher Level Shading Language(高级着色语言)10,细致的DirectX 10解析在下一章节展开。