常见抗锯齿技术解析常见抗锯齿技术解析虽然 3D 图形渲染技术的飞速进步给我们带来了一次次的视觉震撼,电影级的画面早已经不是遥远的梦想,但电脑在计算 3D 画面时所出现的锯齿效果仍是不可避免的,这种效果在物体边缘最为明显画面上那些跳牙咧嘴的锯齿每每令我们如蟹在喉,不吐不快为了消除这些碍眼的锯齿,抗锯齿技术应运而生,并在图形处理技术不断发展的推动下日趋成熟和完善1. FSAA 抗锯齿技术最早的抗锯齿技术来自于 3DFX,名为 FSAA (FuliSceneAnti-aliasing,全屏抗锯齿)我们都知道,画面的分辨率越高,锯齿感就越不明显,FSAA 也正是运用了这个原理这项技术主要是将需要渲染的图像台辨率提升了一倍,来达到消除锯齿的效果不过因为过于消耗显卡资源,加之当时受制于显卡的性能,无论是收购了3DFX 的 NVIDIA 还是后来的 AMD,都没有继续沿用 FSAA,而是在此基础之上推出了 SSAA(SuperSampling Anti-Aliasing, 超级采样抗锯齿)、MSAA ( MultiSampling Anti-Aliasing,多重采样抗锯齿)、CSAA (CoverageSam piing Anti-Aliasing,覆盖采样抗锯齿)、CFAA (Custom Filter Anti-Aliasing,可编程过滤抗锯齿)技术。
FSAA 几经衍生仍然逃脱不了被新技术掩盖的事实,在 MSAA 过了辉煌的时候,我们迎来了新的抗锯齿技术,这就是 MLAA 技术!2.MLAA 抗锯齿技术MLAA (morphological antialiasing,形态抗锯齿)是一种针对延迟渲染的后处理抗锯齿技术,最早是由 Intel 推出,目前NVIDIA、AMD 的 GPU 及新游戏 也都支持此算法这种抗锯齿技术和常见的抗据齿技术不同,是在每一帧画面渲染结束后再进行处理,而且只是将图案的轮廓线模糊(注意:不是几何模型的轮廓线模糊),所以对显卡的需求理论上比普通抗锯齿要小,这样可以在多物体渲染时不会对系统造成太大的负担而且由于 MLAA是纯粹的后期处理,因此兼容性相当出色,可以被使用在各种渲染万法中和任何真他抗锯齿模式叠加,比如 MLAA+ MSAA 的处理等3.SRAA 抗锯齿技术SRAA 的英文是 Subpixel Reconstruction Antialiasing for Deferred Shading,中文意思为子像素重构抗锯齿技术与 MLAA 一样,SRAA 也是后处理渲染,但 SRAA 在抗锯齿的选择上与 MLAA 有所不同。
相对 MLAA,SRAA 技术进行了重要改进:对着色点的采样使用接近屏幕分辨率的级别,对于几何体的采样则提高精度,然后使用重构过滤器来提供一个近似估计的超分辨率图像,这个超分辨率图像被过滤处理后,成为与原始屏幕分辨率相罔的图像,从而避免了特定种类的过度模糊的问题由于几何样本相较全着色计算而言所耗资源要小许多,所以 SRAA 能够用少得多的着色操作, 来实现逼近 SSAA 的画面质量,可以在保持算法性能的条件下生成与 16xSSAA相媲美的画面4.SMAA 抗锯齿技术SMAA 技术的全称为 Enhanced Subpixel Morphological Antialiasing,增强型子像素形态学反锯齿,与 FXAA 一样同为后期处理抗锯齿技术,可以提供基于过滤算法的通用图像抗锯齿解决万案SMAA 技术来源于 MLAA,墓本处理流程建立在 Jimenez 优化改造后的MLAA 算法之上SMAA 改进的边缘、模式检 SMAA 画质、性能对比测,可以对 MLAA 无法实现的抗锯齿处理部分进行抗锯齿处理,因此效果更为优秀—SMAAS2x 模式带来的抗锯齿画质,已经和 SSAA 16x 不相上下,而速度则和之前抗锯齿速度最快的 MLAA 相当。
当然,SMAA 也并非完全没再缺点由于 SMAA 锯齿检测特征数量比MLAA 多 16 倍,因此为了降低性能损耗,SMAA 自然要对对比度上的纹理进行降级采样和双线性过滤来取代三线性乃至各向异性过滤,这导致 SMAA 处理地部分场景时阴影和纹理会出现模糊不清的情况,清晰度不如 MLAA 和 SSAA 16x当然,瑕不掩瑜,能同时拥有 SSAA 16x 抗锯齿效果和 MLAA 的抗锯齿速度,SMAA 牺牲这点画质所造成的问题并不算大可以说,随着玩家要求不断提高,抗锯齿技术也在快速发展中虽然新一代抗锯齿技术所实现的效果与完美画质还有一定的差距,但我们相信随着开发人员的努力,终有一天游戏将是一个完全没有锯齿的虚拟世界!本文由我的电脑 整理,欢迎免费下载。