MLAA

MLAA全称是Morphological   Antialiasing

意为形态抗锯齿

是Intel推出的完全基于CPU处理的抗锯齿解决方案。

对于游戏厂商使用的MSAA抗锯齿技术不同,Intel最新推出的MLAA将跨越边缘像素的前景和背景色进行混合,用第2种颜色来填充该像素,从而更有效地改进图像边缘的变现效果,这就是MLAA技术。

常用的抗锯齿方法还有如SSAA(超级采样抗锯齿)

MSAA(多重采样抗锯齿)

CFAA(可编程过滤抗锯齿)

MLAA采用光栅和光线追踪两种应用方式,没有提供硬件加速,

整个画面的渲染工作全部是交给CPU来完成,在这里CPU的作用

只是将最终渲染出来的画面传给显示器。所以这项技术最大的优势是可以让CPU不再承担抗锯齿的工作,大大降低CPU在运行3D游戏时的压力。

相对于以前的抗锯齿技术,MLAA采用Post-filtering(后滤波)机制,好处就在于可以按照颜色是否连续来驱动抗锯齿,而以前只能在初始边缘来抗锯齿。

MLAA包括3个步骤:

1.寻找在特定的图像像素之间的不连续性,在有些图像中梯度幅值较大的并不是边缘点。

2.确定预定模式,确定渲染的图像。

3.在预定模式中进行领里边缘色彩混合处理。确定模式中的相应模板。

MLAA处理的最大优势是可以再多物体渲染时不会对系统造成太大的负担。

当然MLAA也有缺点,由于采用后滤波机制,所以无法避免Nyquist Limits(奈奎斯特采样定律),即显示的频移超过Nquist的极限时,图像色彩发生混迭的现象时,造成图像失真。

==============================================================================================

AMD去年发布第二代DX11显卡Radeon HD 6800系列的时候,引入了一种新型抗锯齿技术MLAA(形态抗锯齿),并在后期提供了对Radeon
HD 5000系列的支持。事实上很多玩家可能还不知道,MLAA技术并不是AMD发明的,而是Intel 2009年就提出的。现在看着AMD显卡享受自己搞出来的技术,Intel自然心有不甘,发布论文讲述了如何在CPU处理器上执行MLAA。

传统的超级采样、多重采样等抗锯齿技术都是在光线计算、纹理应用完毕之后进行的,都对GPU计算能力提出了很高的要求,MLAA则是在已经渲染好的帧画面上进行,属于后期处理技术。它会对像素边缘进行查找,识别出U型、Z型、L型等非连续的边缘模式,然后将它们与周围的颜色相混合,从而消除锯齿。

按照Intel给出的定义,MLAA是“一种基于图像的后期过滤技术,通过识别非连续图案、混合临近图案的颜色执行有效的抗锯齿”,“它是新一代实时抗锯齿技术的先驱,也是MSAA的对手。”

不同于传统的硬件抗锯齿,MLAA不是大规模并行的,这使得它正好能通过CPU处理器来有效地实时处理。MLAA对光栅化渲染和光线追踪渲染是同等兼容的,结合延迟光照时的功能也堪称完美。MLAA的另一个好处是只对每一帧进行一次计算,而与其画面复杂度无关,因此程序员可以轻松判断它对性能的影响。

MLAA最大的缺点是无法对亚像素(不足一个像素的画面)进行计算和抗锯齿,只能结合MSAA等其它方式进行。NVIDIA针对性提出的FXAA倒是可以

Intel想通过CPU进行MLAA计算的想法其实与AMD现在提倡的异构计算有异曲同工之妙,AMD也完全可以把MLAA移植到CPU上,在Fusion APU融合处理器中的CPU、GPU两部分同时进行,从而实现效率的最大化,不过鉴于APU内部带宽的分配,可能还要等到AMD实现更快、更宽的互连方式才行。

也许Intel会在明年的下一代22nm Ivy Bridge处理器上实现MLAA?道其中的DX11级别图形核心是否也会支持?

这是在Intel Sandy Bridge集成显卡上开启不同抗锯齿的性能影响比例。横轴场景复杂度代表画质高低,数轴毫秒代表渲染一帧画面所需要的时间。可以看出MLAA和不开启AA几乎是同步的,MSAA则随着场景复杂度的提高而延迟猛增。(底部的淡蓝色那条水平线请忽略)

========================================================================================

面对“开普勒”的强大攻势AMD有哪些优势让能够征服消费者?AMD在画质方面是有着传统优势的,俗话:“说A卡看画质,N卡玩游戏。”这其中的道理不是每个人都了解。下面我们看看AMD近代产品延续的两项AA抗锯齿技术——MLAA:形态抗锯齿和EQAA:增强型抗锯齿,是如何提升画质的。

通过APU加速实现MLAA:AMD走一步很大的棋

   AMD显卡在HD6800中首次使用了MLAA(形态抗锯齿技术),该技术并非AMD首创,是Intel实验室一个研究人员拿出来开放了。不过为神马AMD会用此技术??这个要从APU以及Direct
Compute通用运算,和AMD的GPU通用有关。Intel尝试用CPU来进行MLAA处理,不过AMD推出的异构运算会更有优势。HD6800开始,支持显卡经过过DirectCompute来实现MLAA抗锯齿。

形态抗锯齿效果,MLAA可以在很低的效能损失情况下得到优质的画面

   为什么说是MLAA,即形体抗锯齿,它首先是通过“边缘检测”,识别Z\U\L等拓扑结构,然后重点地在指定边缘实现滤波。MLAA实际上是一种后期处理。

MLAA对比SSAA效果,可以看到MLAA效果接近4x4采样的SSAA效果

在使命召唤5里面,0AA和MLAA对比

孤岛危机2 MLAA效果对比

   EQAA(增强型抗锯齿)是HD6900时一起低调发布的一个抗锯齿技术。该技术的理论画质提升比。采样能力比覆盖抗锯齿更甚。EQAA是MSAA采样样本的基础上,再增加覆盖采样。从而增加整个画面的精美度。图中可以看到增强型抗锯齿不但具备像素采样点,还会随机抽样更多的覆盖样品。

==============================================================================================

MLAA技术实质是什么?

传统的抗锯齿技术,是贯穿在整个3D处理中的一种算法。比如SSAA,可以理解为大幅度提高原始图形分辨率,在处理计算后,再缩小分辨率并按照要求的分辨率计算输出的“暴力”抗锯齿方法;常见的MSAA是检测多边形的边缘,对边缘采样进行多次计算,最后输出相对平滑的边缘效果。相比之下,MSAA速度更快,但不够精细,对多边形内的纹理等抗锯齿效果的处理可能不如SSAA到位。

MLAA和上述抗锯齿技术都完全不同。从技术原理来说,MLAA更类似于一个2D滤镜,它并没有贯穿在整个3D处理中,反而是在整个3D计算完成,即将输出画面到屏幕上之前,利用DirectCompute对即将显示的画面进行再处理。此时MLAA会自动寻找画面中的高对比度边缘(一般这些地方都是分界线、物体边缘等人眼比较敏感的部位),专门对这些边缘进行特殊算法操作。换句话来说,MLAA是一个彻底的后期处理技术。

图1

图2

笔者首先运行的是含有基础对比的MLAA软件,我们先看简单的基础对比。图1是没有经过MLAA处理的图片。图2是打开MLAA后的图片,内含斜线、色块以及文字,它的重点在于展示文字和斜线等特别适合抗锯齿处理的部位在MLAA处理后的效果。

我们用一个不太恰当的例子来更好地理解MLAA技术:如果你有照相机,在拍摄过程中使用各种灯光、道具、不同的镜头等来改善拍摄效果,就类似传统的抗锯齿操作。这些操作是针对拍摄本身的,会改变最终得到的数据。但你在拍摄了照片以后,利用Photoshop中的滤镜对照片处理,就属于拍摄后期处理,MLAA技术就是3D后期处理。假如Photoshop中有类似MLAA功能的滤镜,我们甚至可以直接对2D图片进行MLAA抗锯齿操作。

图3

图4

笔者用细节图展示经过MLAA处理前(图3)后(图4)的画面。我们可以清晰地看到MLAA对斜线以及边缘处的处理效果。对于这种黑白对比强烈的理论性测试,既能最大限度展示MLAA的优势,又能很明显地体现MLAA的劣势。MLAA的优势在于抗锯齿效果处理很出色,在测试中获得了接近MSAA 8X的抗锯齿效果。但劣势也比较明显,由于MLAA采用后处理,因此对文字锐利的边缘也有“抗锯齿”效果。比如图中“t”的字母交叉处,就出现了明显的“肥胖”现象,字的边缘也有圆滑现象出现。这说明MLAA对文字支持可能存在一定问题。

由于MLAA是纯粹的后期处理,因此它的兼容性极为出色。理论上MLAA可以在任何游戏上运行,包括DirectX 9、DirectX 10、DirectX 11游戏都可以使用MLAA进行抗锯齿处理,并获得同样的抗锯齿效果。不仅如此,MLAA还可以和任何其他抗锯齿模式叠加,比如MLAA+MSAA的处理等。只不过目前受限于显卡性能,我们还是最好单独开启MLAA或者MSAA,否则性能下跌幅度会较大,会影响游戏本身的流畅性。

AMD首次公布MLAA抗锯齿技术是在催化剂10.10a Hotfix中,期间已经更新过b、c、d等版本。截至本文发稿前,最新的催化剂驱动10.10e已经发布,新版本不但进一步加强了MLAA技术,还使得Radeon HD 5000系列也能支持MLAA技术了(MLAA技术发布初期只支持Radeon HD 6000系列)。

从AMD官方给出的对比图来看,MLAA在对比强烈的边缘处理时作用明显,效果类似于特定的模糊处理。但作为一种后期处理技术,MLAA对画面全局使用滤镜处理,是不是也会影响到纹理的锐利度?比如不应该处理的地方却进行了MLAA抗锯齿,是否导致画面质量变差?下面笔者将通过实际测试来证明这个问题。

时间: 2024-11-07 21:44:32

MLAA的相关文章

回击MLAA:NVIDIA FXAA抗锯齿性能实测、画质对比

PC游戏玩家肯定会对各式各样的AA抗锯齿技术非常熟悉,而今天本文的主角就是NVIDIA今年才推出的新型抗锯齿技术"FXAA". FXAA在某种程度上有些类似于AMD之前宣传的MLAA(形态抗锯齿),但远比后者低调,所以很多玩家可能还从来没听说过,但是如果你玩过<永远的毁灭公爵>或者<F.3.A.R>,应该会有所耳闻.今天我们就来实际测测多款显卡上的FXAA性能和画质表现,并将其与MLAA进行简单对比. 什么是FXAA? FXAA全称为"Fast App

MLAA:高效地将抗锯齿处理从 GPU 迁移至 CPU

下载文章和源代码 英文版下载 MLAA:高效地将抗锯齿处理从 GPU 迁移至 CPU (PDF 1.2MB) 访问 MLAA 示例页可下载源代码. 简介 高效的抗锯齿技术是进行高品质.实时渲染的重要工具.MSAA(多点采样抗锯齿处理)是目前使用的标准技术,但有一些严重的缺点: 与延迟照明不兼容,后者在实时渲染中使用得越来越多: 高内存和处理开销,这使其在一些流行平台(如索尼 Playstation* PS3*)上的使用受限 [Perthuis 2010].这种开销还直接与渲染场景的复杂性关联:

SSE图像算法优化系列二十四: 基于形态学的图像后期抗锯齿算法--MLAA优化研究。

偶尔看到这样的一个算法,觉得还是蛮有意思的,花了将近10天多的时间研究了下相关代码. 以下为百度的结果:MLAA全称Morphological Antialiasing,意为形态抗锯齿是AMD推出的完全基于CPU处理的抗锯齿解决方案.对于游戏厂商使用的MSAA抗锯齿技术不同,Intel最新推出的MLAA将跨越边缘像素的前景和背景色进行混合,用第2种颜色来填充该像素,从而更有效地改进图像边缘的变现效果,这就是MLAA技术. 其实就是这个是由Intel的工程师先于2009年提出的技术,但是由AMD将

Morphological Antialiasing

mlaa有着和ssao很像的特点,比较简单的技术,很棒的效果. 而且mlaa显然要比ssao有冲击力的多,个人觉得要把msaa干翻了. 先看对比图: mlaa的产生发展也很有意思,本来是intel的人发明的,估计是要配合larabee的,是一种适合在cpu上做的aa技术. 但是马上被cpu端计算能力过剩的ps3看上了,被实现出来,在战神等游戏里大展宏图. 在后面gpu上也开始改进,sig10上有个文章讲gpu mlaa,但是效率很一般,720p的在gtx295上依旧要3.4ms. http://

GPU抗锯齿

抗锯齿(Anti-aliasing):标准翻译为"抗图像折叠失真".由于在3D图像中,受分辨的制约,物体边缘总会或多或少的呈现三角形的锯齿,而抗锯齿就是指对图像边缘进行柔化处理,使图像边缘看起来更平滑,更接近实物的物体.它是提高画质以使之柔和的一种方法.如今最新的全屏抗锯齿(FullSceneAnti-Aliasing)可以有效的消除多边形结合处(特别是较小的多边形间组合中)的错位现象,降低了图像的失真度.全景抗锯齿在进行处理时,须对图像附近的像素进行2-4次采样,以达到不同级别的抗锯

未来抗锯齿,FXAA/TXAA

前言:未来抗锯齿,FXAA/TXAA回顶部 [PConline 应用]在3D图像中,我们不可避免的遇到"锯齿".锯齿是由于受到显示设备分辨率和图像生成原理制约,不可避免的会出现的一种图像失真现象,具体表现为画面中物体的边缘呈现出直角的锯齿状.为了获得更好的视觉体验,让物体边缘看起来更柔和.自然,需要进行消除锯齿(Anti-Aliasing,简称AA)处理. 未来抗锯齿技术的方向:FXAA/TXAA 虽然抗锯齿了,但是模糊了 虽然FSAA全屏抗锯齿技术十分成熟,但是无论怎样发展,是不能够

Anti-alias的前世今生

原文: http://www.cnblogs.com/gongminmin/archive/2011/05/16/2047506.html Anti-alias,简称AA,在图形学中广泛地用于提升渲染质量.经过几十年的发展,AA也从离线渲染逐步普及到了实时渲染的领域.本系列文章将总结一下在实时渲染中使用的AA方法的前世和今生.本片集中讨论硬件提供的AA方法. 图1. 一个像素内部的采样点.16个红圈表示16个采样点,蓝色和黄色是覆盖了这个像素的两个三角形. SSAA Super Sampling

抗锯齿技术简介

虽然3D图形渲染技术的飞速进步给我们带来了一次次的视觉震撼,电影级的画面早已经不是遥远的梦想,但电脑在计算3D画面时所出现的锯齿效果仍是不可避免的,这种效果在物体边缘最为明显.画面上那些跳牙咧嘴的锯齿每每令我们如蟹在喉,不吐不快.为了消除这些碍眼的锯齿,抗锯齿技术应运而生,并在图形处理技术不断发展的推动下日趋成熟和完善. 1. FSAA抗锯齿技术 最早的抗锯齿技术来自于3DFX,名为FSAA (FuliSceneAnti-aliasing,全屏抗锯齿).我们都知道,画面的分辨率越高,锯齿感就越不

《Temporal AA , SMAA and MSAA》

Temporal AA Temporal AA主要是为了修复场景帧率小于运动物体运动速度的锯齿问题,当帧率太低时候,运动的物体就会一卡一卡,为了避免这种造成的锯齿,原理上帧率刷新速度应该大于两倍运动速度才行.TXAA就是为了修复这种情况.比如高速旋转的轮子用这种AA就会有很好的效果. 伪代码: For each image frame: For each object in the frame: Calculate the temporal transformation function for