电脑高手帮帮我.我是菜鸟经常看到
DirectX 9。0c到底有什么用?
从技术角度来看,DirectX 9。0c的最大改变是引入3。0版本的Pixel/Vertex Shader和支持ATI的3Dc纹理压缩技术,但对最终用户而言,这样的改进意义有多大呢?
当NVIDIA的Geforce3刚推出时,它是唯一能够完全执行所有DirectX 8。 0特效的GPU,因此获得了空前的成功。当时著名的3D性能测试软件3DMark2001中有两段非常经典的测试片段,Nature风景和钓鱼画面运用了DirectX 8。0所支持的Pixel Shader以及Vertex Shader,其效果可谓令人惊讶不已。 毫无疑问,如...全部
DirectX 9。0c到底有什么用?
从技术角度来看,DirectX 9。0c的最大改变是引入3。0版本的Pixel/Vertex Shader和支持ATI的3Dc纹理压缩技术,但对最终用户而言,这样的改进意义有多大呢?
当NVIDIA的Geforce3刚推出时,它是唯一能够完全执行所有DirectX 8。
0特效的GPU,因此获得了空前的成功。当时著名的3D性能测试软件3DMark2001中有两段非常经典的测试片段,Nature风景和钓鱼画面运用了DirectX 8。0所支持的Pixel Shader以及Vertex Shader,其效果可谓令人惊讶不已。
毫无疑问,如果缺少了DirectX ,那么再先进的3D显卡也不能发挥其全部威力。如今DirectX已经发展到9。0c版本,NVIDIA与ATI也在这一领域展开一场空前激烈的竞争。
一、画质相同,性能提升
客观来说,在目前的游戏引擎中,Pixel Shader 3。
0与Pixel Shader 2。0几乎画质相同,3。0版本只是起到提升性能的目的。事实上,Pixel Shader3。0对于游戏编程人员的意义更大,它支持无限代码长度的程序处理,提供新的分支指令,能够轻松调用子程序,让编程更为轻松,效率提升显著,这对程序员来讲是一大喜事。
(图1,冒充Pixel Shader 3。0的FarCry对比)
图1
Vertex Shader 3。0加入了if/then/else描述语句,为描影程序加入子程序,同样也突破了65000行的程序数量限制。
支持顶点纹理后,程序员可以随时控制顶点,这些动态顶点操作可是DirectX 9。0c最激动人心的变化,它带来了极强的多边形粒子系统和硬件几何变形能力,几乎就可以直接生成游戏中的特效了。此外,Vertex Shader 3。
0提供了一些3D建模的实例程序,程序员只需调用这些原有的程序就能快速生成所需要的3D物体,跳过CPU→GPU的处理过程,显著节省计算时间。
就在业界为NVIDIA的FarCry“作弊事件”而争论之时,备受期待的FarCry 1。
2补丁终于发布,并且官方支持Pixel Shader 3。0与Vertex Shader 3。0,但是该特性目前仅有NVIDIA的Geforce 6800系列显卡支持,ATI X800系列则不支持。
从游戏对比测试图来看,我们发现Pixel Shader 3。0对于画质提升的贡献有限,甚至连CryTek发言人也明确表示,FarCry 1。2补丁虽然支持Pixel Shader 3。
0,但其渲染方面与2。0版本并无差异,这也许是FarCry本身的原因。(图2,Pixel Shader 3。0应有的效果)
图2
二、纳入ATI压缩技术
如果说Pixel Shader 3。
0与Vertex Shader 3。0都是用于简化编程操作,那么ATI的3Dc纹理压缩技术则不完全如此。以前厂商们常用的纹理压缩技术主要有S3TC和DXTC(DXTC其实也属于S3TC,微软将S3TC纳入DirectX标准后进行了重新命名)两种。
但随着可编程Pixel Shader技术的应用,纹理渲染方式也出现多样化,原有的DXTC压缩算法已经不能进行很好的压缩处理,如以往的压缩方案造成的不连续会使得物体表面出现闪光或跳跃性光照效果。
这时我们需要一种新的压缩技术出现,来提升画质和降低显存带宽的损耗,因此ATI推出了3Dc技术。
3Dc技术主要用于解决原有DXTC无法完成的工作,它将多个数据片封存入一个压缩纹理中,对于每一个部分只需要用两个标准矢量来存储。
也正是看到了3Dc技术的先进性,Microsoft将其融入到DirectX 9。0c,未来肯定将会得到更为普及的应用。
然而需要明确的是,3Dc技术并不能给画质带来明显的提升,其作用在于减少GPU所需要处理的数据量,从而在相同画质的情况下大幅度提高速度。
长期以来,纹理压缩一直是GPU的巨大负担。目前越来越多的游戏为了追求更好的画面效果及为了让画面更滑顺,需要用到越来越多的贴图材质。而Normal Map就属于一种增强型凹凸贴图技术,在今天此技术越来越受欢迎,许多新游戏如FarCry都采用了此技术。
不过,使用Normal Map也有一些缺点,它会增加绘图处理器的负载。在几乎不损失画质的前提下,3Dc技术实现惊人的纹理压缩比。目前包括Half-Life 2、Far Cry等游戏都已加入对3Dc的支持,更多的游戏厂商发表相关支持3Dc的游戏。
更为喜人的是,3Dc是与Windows兼容的一个标准:在DirectX 9。0c与OpenGL上都可以支持,游戏厂商可以轻松享用3Dc的完全开放架构。
从实际演示效果来看,3Dc技术的确没有令人失望。
对比游戏截图(图3,DXTC与3Dc纹理压缩对比),3Dc技术压缩的纹理质量丝毫不逊色于DXTC技术,而此时帧速率却比DXTC技术足足提高10FPS。在测试中如去掉阴影效果后,3Dc的优势将更加明显。
图3
尽管目前支持DirectX 9。0c特效的游戏并不多见,且其效果没有带来质的变化,但是不可否认的是,未来DirectX 9。0c肯定会被大多数游戏作为标准接口。
目前《波斯王子时之砂》、《变形金刚》、《古墓丽影六》、《Max Payne 2》、《Will Rock》等一系列新游戏已经将DirectX 9。0b纳入其中,升级到DirectX 9。0c指日可待。
。收起