NVIDIA和ATI的战争已经打了4个年头了。这场无硝烟的战争让图形产业发展的速度达到了一个又一个的高潮,在NVIDIA的NV40和ATI的R420相继出世之后,一场新的攻坚战在孕育……
R420架构浅析——3Dc技术
从这张R420的架构图中,我们不难发现,ATI最早的DirectX 9芯片R300对于以后的R350以及目前R420都没有作大规模的修改,而反观NVIDIA,每次都做出很大程度的改良,在NV40中,NVIDIA的工程师甚至重新设计了其图纸,而ATI则是针对新增加的特性进行小幅度的修改而已。
尽管我们要表扬R300的架构延展性,但如果单纯对比R420和NV40的内部架构,ATI还是落后不少,为了弥补这所带来的效能落后,ATI提供很多额外的功能。我们就来简单介绍一下它所具有的一些特点功能吧。
3Dc技术
3Dc是ATI开发的一种新的压缩技术,R420可以实现对这项技术的支持。这项技术允许游戏开发者使用更高细节的纹理,来实现更加真实的3D效果。3Dc技术是R420上最重要的一项图像质量和性能改善技术。
我们应该不会忘记S3TC和微软的DXTC,他们都是著名的纹理压缩技术,为什么要纹理压缩?众所周知,在高分辨率下,图象是需要动用到到大纹理来处理的,对于显存的占用相对严重。压缩技术将纹理压缩成图形核心所识别的一种格式,减小纹理体积,以减小性能损失。不过这种技术都是几年前的技术,而且压缩后的画质还是有相当的影响,所以对于游戏开发者来说,这技术根本无法满足他们的要求。所以ATI的3Dc技术来到了我们面前。
3Dc技术是一种工作于Normal Maps的纹理压缩技术,许多人也许不知道什么是Normal Maps是3D表面的特殊纹理。它们是早期Bump Maps(皱面纹理)的一种扩展技术,它包含了每个像素的高度定义来表现平面中崎岖不平的地形。Normal Maps包含了更多的表面信息。就跟bump-Maps一样,这些Normal Maps同样可以在小量多边形的模型下,增加该对象的精细度。它最大的优点是,光源无论在哪一个角度上看起来都正确无误。
这张图就是一张Normal Maps的形成过程。Normal Maps使用两组3D模型进行运算,一组是采用很高多边形的精细模型和一组采用较低多边形数量的粗糙模型,其低多边形的模式仅仅从临摹出基本的模式特征,而高多边形则能描绘出其逼真的细节。通过一个简单的指令使这输入这两个模型,通过计算表面不同的点,存储为一张Normal Maps纹理。再透过Normal Map技术,粗糙的模型看起来就会跟精致模型的品质差不多。当然,由于曲面法线贴图内没有记录几何资料,所以这个模型看起来不可能跟真正的模型那样的超精致程度。
使用曲面法线贴图技术时也有一些缺点。其一,绘图卡处理器的负荷会加重;因为使用Normal Map就像是把另一个材质贴在像素上一样。其二,它也需要更多的资料数量。研发者愈想增加画质的精细度,就要提高Normal Map资料的分辨率,当然也就需要更大的内存频宽。虽然Normal Map可以透过DXTC压缩技术去压缩,可是这种压缩技术却会产生画质失真的现象。所以现在,ATi就好象跟S3当时开发S3TC压缩技术来解决大型材质上的问题一样,特别针对Normal Map发展一种名为3Dc的压缩技术。根据ATi的说法,3Dc可以把Normal Map压缩到4:1的比例,且不会有太多画质失真的现象。
ATI的3Dc及S3的DXTC比较图。很可惜的是,我们无法知道上图所使用的压缩比例。更何况,3Dc也没有一定保证会压缩出更好的Normal Map画质。不过,幸好这项压缩技术的诞生,才可让相同档案大小的Normal Map却拥有更详细的资料。
既然现在可以使用较少内存频宽来呈现出相同的画质精细程度,游戏开发者不是选择提高游戏的效能,就是选择透过Normal Map压缩技术来提高画质。而且要在游戏中加入支持Compressed Normal Map的选项也不是什么大问题,因为只要在处理Normal Map的像素着色单元中多加2道指令就可以了。
3Dc这项压缩技术会内建在X800及未来以R420为核心全线产品中,然而旧的芯片就无法使用这项技术。到底3Dc会不会加入DirectX成为标准目前还是未知数,因为决定权在微软手上,而这看起来将会是ATi的努力目标。无论如何,ATI都指出此项技术是一个开放的标准,也就是说,任何人都可以不付版税来使用这项技术。不过,现在好象只有极少数的游戏支持3Dc压缩技术。
网友评论