【IT168 资讯】DirectX 10将随着今年Windows Vista的发布与大家见面,新的DirectX不再与旧版的操作系统和其它软件兼容,意味着DirectX 9将完全承担DirectX 10不准备支持的软硬件。在DirectX 10里,Pixel Shaders和Vertex Shaders将使用同一名字:Shaders;另外,DirectX 10还带有一个被称为Geometry Shader的新版“Shader”,可以处理Pixel Shaders和Vertex Shaders不能完成的任务。
只能吸收和输出一个单独顶点的旧版Vertex Shaders是不能创建或者破坏三角形的,而新的Geometry Shader则能够让游戏运行在完整的几何构造上,包括线条、三角形、点以及邻近的原始体。不仅如此,在这些数据进入渲染引擎和Pixel Shader处理前,Geometry Shader能够制造新的原始体,添加新的三角形。
Geometry Shader可以把处理数据直接输入内存,免除了先经过CPU处理才进入显卡管线的麻烦,这一改进可以让GPU直接处理细微的粒状效果,如烟雾和爆炸效果等(在这之前这一任务通常交由CPU来完成)。玩游戏时,配合纹理阵列的Geometry Shader还可以制造出通常由六个方位才能创建的立方环境映射,而现在则只需通过一个方位就可以搞定。
在DirectX 10里,Pixel Shaders和Vertex Shaders的工作方式与过去的DirectX是不同的。譬如,为什么ATI X1900的48条管线不全是Pixel管线?因为这些是动态管线,会根据处理需要自动转换。另外,DirectX 10还会引入shader model 4.0,虽然现在不能确定到时会是ATI还是NVIDIA首先支持shader model 4.0(按理说,一向和紧跟微软步伐的ATI会更快,但NVIDIA却总是习惯了给大家惊喜,所以,谁知道呢。),但DirectX 10的速度相信将比9更快。或许DirectX 10还未退出,GeForce 8就已经整装待发了。
通过更智能化的资源管理、新的API和驱动功效以及能够将更多任务从CPU转移给GPU的特性,DirectX 10将会以6-8倍的幅度大大提升游戏的表现值。微软表示,重新设计的API和管线是性能提升的关键,不用CPU参与而尽量让GPU的能力发挥到最大的准则是DirectX 10的设计理念,即使需要CPU工作,更快、更流畅的管线操作也能够弥补不足。总之,DirectX 10的目的就是让GPU更有用更高效从而让CPU腾出更多的效能。
希望微软的承诺能够兑现,因为对于游戏粉丝来说6-8倍的确是个十分吸引的数字。新的DirectX能更好地利用视差映射等显卡特征,下面利用了Crytek引擎的一个画面带有DirectX 10的新特征,读者可以看到光线穿透树叶的效果做得十分逼真。
体积纹理化也是DirectX 10的一项新特征,看看下面的云朵:
shader model 4.0有什么新鲜?看下面的人脸多么活灵活现就知道了:
尽管基于成本和硬件的考虑,游戏开发商没有完全利用DirectX 9的全部特性,这是可以理解的,但试想一下如果Unreal Tournament 2007在DirectX 9下有如此效果,随着DirectX 10的推出,游戏开发商是否会改变过去的做法呢?
看光线落在物体上的纹理处理多么细腻和精确,看着如此逼真的光线效果,是否觉得需要戴上太阳眼镜?别忙,再留意那些阴影的处理,与光线的处理效果相比可谓有过之而无不及。
这样一个画面大概包含了300,000到400,000个三角形。一个类似画面的每个网孔大约有5000个三角形,而纯几何细节网孔则要捕捉2,000,000个三角形,如果你的显卡要以如此漂亮的效果处理十个这样的物体,必定会不堪负荷,DirectX 10的出现则可以大大减轻显卡的负担。
各位,如果你的兜里不缺票子,哪尽管升级到最高端的显卡吧。但最明智的做法是,购买一张支持Vista的中端显卡,例如GeForce 7600 GT又或者ATI的X1800 GTO,安心等待Vista的来临,届时,通过DirectX 10,你的中端显卡就变成“高端”显卡了! |