您的位置:电脑秀首页 > 硬件中心 > 产品评测 > 正文

微软DirectX 10.1技术全方位剖析

PCSHOW.net 作者:微型计算机 2008-05-14

赶跑“难看的锯齿”:反锯齿增强功能


讨厌的锯齿让我们玩游戏时的兴趣大减

        微软和ATI联手制定DirectX 10.1技术标准时,提升反锯齿画质也是一个重要的方面。DirectX 10.1在反锯齿功能上获得三项增强,它们分别是:多重采样缓冲的读写(Multi-Sample Buffer Reads and Writes),这样着色程序就可以直接读写一个样本中的任意颜色和深度;其二是像素覆盖蒙版(Pixel Coverage Masks),它的作用就是在像素着色中开启可编程程序的反锯齿功能。

        至于DirectX 10.1在反锯齿上获得的第三项增强技术,那就是可编程反锯齿模式(Programmable AA Sample Patterns)。这项技术可以让程序员精确控制像素每个反锯齿采样点的位置,以此来达到Temporal反锯齿(TAA),该技术的主要目的还是要提高多GPU渲染在反锯齿方面的能力。

“多重采样缓冲的读写”和“像素覆盖蒙板”所能带来的好处

        第一点是可以定制反锯齿过程当中的边缘侦测过滤器,达成性能与画质并重的反锯齿效果。
        第二点是改进自适应反锯齿性能。
        第三点,改进反锯齿和HDR的兼容性。
        第四点,改进反锯齿和Deferred Rendering(延迟渲染)技术的兼容性,并且提升性能。
        这些改进将惠及众多采用虚幻3引擎的游戏。以前部分ATI显卡因为虚幻3当中的延迟渲染技术而无法打开的MSAA尴尬,现在已经一去不复返了;而NVIDIA目前所采用的超级采样反锯齿(SSAA)方式来消除虚幻3引擎渲染时所产生的锯齿,这种方式在效率方面不及MSAA。

严要求才能出效率:规格再提升

        在DirectX 10.1当中,微软要求图形芯片必须支持FP32过滤(FP32 Filtering)功能—也就是能够对128-bit浮点纹理格式进行过滤操作,这个选项以前是DirectX 10的可选项目,在DirectX 10.1中变成了必须的。与之类似的还有Int16 Blending(16位整数混合运算),微软将这些“可选项目”变成“必须”的目的在于鼓励程序开发人员多使用这些高精度数据,并保证软硬件的兼容性。最明显的一个例子,在DirectX 10.1中要求图形芯片至少支持4xMSAA。


DirectX 10与DirectX 10.1之间的差别

        与此同时,DirectX 10.1要求图形芯片支持标准反锯齿采样格式(Standardized AA Sample Patterns)。即微软预先定义了2x、4 x、8x和16x反锯齿采样的位置,支持DirectX 10.1的图形芯片在反锯齿采样的时候必须严格按照微软预定位置进行采样——这样一来,I HV(独立硬件厂商,如AMD、NVIDIA等)的DirectX 10.1芯片就无法在反锯齿采样中各自为政。无论用户说微软太过于“霸道”也好,又或者微软认为DirectX 10.1已经可以“独步天下”,对于程序开发者而言,这却是一件好事—至少以后不用为每家IHV厂商单独编写反锯齿的优化程序了;对于消费者而言,标准的统一也意味着以后在使用反锯齿功能时,会感到更加方便,也不会茫然不知所从。

        DirectX 10.1的另一项强制规范是要求图形芯片进行的所有浮点计算和混合操作都必须要有0.5ULP的精度,这是为了达到IEEE指定的标准,并方便开发人员无需专门为单一IHV厂商进行精度优化。

匿名评论 登录后评论
[按 CTRL + ENTER 键快速发表评论]
返回页面顶部↑