什么是Directx?9和10有什么区别?
DirectX是一种应用程序接口,它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个***同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,Direct就是直接的意思,而后边的X则代表了很多的意思,从这一点上我们就可以看出DirectX的出现就是为了为众多软件提供直接服务的。
作为DirectX 9的下一代,DirectX 10自然会有很多改进的地方,不过现在我们得到的消息能够确定的新特性也不过几种:
1.硬件功能的支持完全不同
在DirectX 9以及以前的版本之中DirectX都只是一种纯粹的平台而已,硬件开发商可以按照自己的实际需要去支持DirectX,硬件商的“随意开发”已经令游戏开发商在兼容性方面有点无所适从,但是从随着Windows Vista推出的DirectX10开始,3D性能将与Direct3D的版本号绑定,也就是说所有3D厂商都必须在显卡上支持相同的3D功能,以往3D功能各自为政的情况将一去不复返了,这将为游戏开发提供标准同一的硬件开发环境,nVIDIA和ATi以后也不得不按照微软的要求在显卡中统一功能支持。可以说在DirectX 10推出的那一天起,显示卡3D技术的“战国时代”将统一起来。
2.Shader Model新旧交替
在众多的3D技术之中,Shader Model(简称SM)恐怕是最受关注的了。Shader的意思就是“着色器”,它是渲染像素和顶点的小程序,分为像素着色器(Pixel Shader)和顶点着色器(Vertex Shader)两种类型。这些程序能够向基本的几何图形添加效果,例如向蓝色纹理平面添加水纹使其具有反射效果,也可向多边形纹理添加玻璃效果使其具有透明的视觉特性。现在游戏画面的品质要比三四年前好许多,着色器的作用功不可没。在早期的DirectX 9.0a/b之中只是支持SM 2.0标准,而在随着WindowsXP SP2推出的DirectX 9.0c里面人们发现DirectX开始支持SM3.0了。作为未来的API接口,DirectX 10顺理成章地升级到SM 4.0。
3.3D也能多任务
现在的DirectX都无法让多个3D程序之间***享显存,甚至是***享图形处理芯片(GPU)的周期,以致我们同一时间之内只能运行有限的3D软件,要不然速度就会大受影响。而在DirectX 10里面,GPU将和CPU一样让多个3D程序***享显存、GPU周期以及其他资源,3D也可以多任务了!
4.DirectX9所没有的渲染引擎
在老版本的DirectX里面,着色只能以“点”为单位,因此在某些大量多边形的3D画面处理上就会显得效率低下,造成GPU的沉重负担。而在DirectX 10里面将引入全新的渲染引擎“Geometry Shader”(几何着色),它可以通过对整体多边形的渲染来加速图形运算,新着色模式将大幅提高很多3D立体作图功能效率,而且还允许GPU独立于CPU外完成数据循环工作,使粒子系统完全脱离CPU束缚。有了这个新引擎,最直接的受益人应该是我们了,因为我们可以在显示卡不升级,保持原有画面质量的前提下享受到更高的速度!
5.向下兼容性比拼
DirectX 9无疑可以向下兼容旧版本DirectX的特性,DirectX 10是可以向下兼容的。它将向下兼容DirectX 6、7以及DirectDraw,此外它还会集成Direct3D 9扩展版。