Radeon 3850/3870最大的一个技术亮点就是率先支持了微软最新的DirectX 10.1应用程序接口API。也就是说,RV670在硬件上支持最新的DirectX版本,如果游戏使用了DirectX10.1特有的程序语言,那么目前只有Radeon 3850/3870才能展示出特有的画面效果。只是目前基于DirectX10.1的游戏还没有出现,令人欣慰的是最近几个月Vista的sp1补丁就将发布。
在经历了整整十代的发展以后,Direct 3D(以下简称D3D)已经毫无疑问成为游戏开发者手中的王牌工具。可以说,目前几乎没有哪个游戏公司再去碰OpenGL,因为虽然用OpenGL开发游戏,效果上并不比D3D差,但是其开发难度却比D3D要大得多,难度上的增大则直接导致的是开发成本上的大幅度上升。
不过从DirectX7版本之后,微软有个“恶习”就是不断的推出同版本DirectX的补丁,不仅让图形卡厂商面临开发的难度,也让消费者的选择面临两难。这些年图形技术的发展日新月异,消费者大概已经适应了迅速的产品更迭速度,所以尽量选择支持较新DirectX版本的图形卡更有价值。下面我们回顾一下相应的DirectX同版本的升级历史,看一看微软的“恶习”:
◆ DirectX 8.0和DirectX 8.1,Pixel Shader 1.3和1.4的升级
2001年微软发布了DirectX8,一场显卡革命开始,它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader),反映在特效上就是动态光影效果。但是随后不久,微软就推出了升级版的DirectX8.1,两者的主要区别是Pixel Shader的版本由1.3升级到了1.4。
在Pixel Shader 1.3版本中,已经能实现纹理贴图、凹凸贴图、像素渲染光照、立方体环境凹凸反射贴图等一系列特效,而在1.4版本中,立方体环境光照、色彩影射等等特有的技术还是让1.3版本有些过时。另外1.4版本的Pixel Shader限定每个渲染流程至少能贴6层贴图,而PS1.1每个渲染流程只能贴4层贴图,PS1.4允许每组材质被读取两次,在游戏中的应用能让硬件发挥更大的功效。
『ATI曾经用Treasure Chest这个Demo来展示Radeon 8500的DX8.1画面效果』
这时候恰逢Pixel Shader推出没有多久,所以每一次升级都显得尤为重要。并且随后推出的DirectX所支持的PS2.0,也是基于PS1.4发展而来的,因为目前DX9的游戏在需要PS2.0的同时也都同时向下兼容PS1.4,这也是凸显DirectX8.1重要性的一个方面。
『两款被微软“恶搞”的产品,GeForce3 Ti(左)推出较早但是不支持DX8.1』
就是这次“恶俗”的升级,导致了产品的差异化,NVIDIA先期推出的GeForce 3 Ti系列早于对手推出,不过只能支持DirectX 8,而随后推出的ATI Radeon 8500则可以支持DirectX 8.1,幸好GeForce 4 Ti推出的时间并没有相隔太长,不然真的要受到DirectX的限制。
◆ DirectX 9.0a、9.0b、9.0c,微软不断升级让人“厌烦”
2002年底,微软发布DirectX9.0,如果从参数上看,DirectX9相比DirectX8仅是提高了PS和VS的版本,目前版本都是2.0版本,似乎没有质的变化,其实不然。首先,PS 2.0具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,还不占用显存,理论上对材质贴图的分辨率的精度提高无限多;另外PS1.4只能支持28个硬件指令,同时操作6个材质,而PS2.0却可以支持160个硬件指令,同时操作16个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可操作的指令数可以任意长。
其次,VS 2.0通过增加Vertex程序的灵活性,显著的提高了老版本的VS性能,新的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从128个提升到256个。另外,增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。
『DirectX 9.0c确实带来了不错的游戏画面』
不过微软并不满足,DirectX 9.0c也就是Shader Model 3.0(Pixel Shader 3.0 和Vertex Shader 3.0)再次推出,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令数仅为256个,Pixel Shader最大指令数更是只有96个。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令数都大幅上升至65535个,全新的动态程序流控制、 位移贴图、多渲染目标(MRT)、次表面散射(Subsurface scattering)、柔和阴影(Soft shadows)、环境和地面阴影(Environmental and ground shadows)、全局照明(Global illumination)等新技术特性,让具备无比真实感的逼真游戏画面体现在玩家们的面前。
因为DirectX9.0c的升级,成就了GeForce 6系列显卡的市场火爆,而相应的X800、X700系列则有些尴尬,ATI直到X1000系列才正式支持DirectX 9.0c,不过加入了HDR+AA,又有了反戈一击的姿态。
微软推出操作系统就有不断升级的毛病,对于DirectX的升级也让玩家们倍感困扰,究竟是购买支持最新特效的产品还是支持老特效的产品让人左右为难。不过话说回来,如果价格合适,性能也不错,选择支持最新DirectX版本的产品总不会错。