Skip to content

Archive

Tag: AA
Normal map已经在实时应用中被广泛使用了,但长期以来一直有个缺陷:无法很好地做mipmap。所以在一定的视角和距离下,会出现明显的aliasing现象。在非实时渲染中,因为sampling rate很高,对于一个pixel,积分发生在计算完shading之后,也就是 [latex]spec = \sum {\left (\frac {N_{i} \cdot H}{|N_{i}|} \right )^\alpha}[/latex] 而实时渲染的sampling rate极其有限,一般只有1,积分是在建立mipmap的时候对normal做的,shading用的是积分后的normal: [latex]spec = \left (\frac {(\sum {N_{i}}) \cdot H}{|\sum {N_{i}}|} \right )^\alpha[/latex] 很显然这两个不等价,造成了aliasing。 LEAN Mapping I3D 2010的LEAN Mapping ...
正如不久前的帖子所描述的,KlayGE 4.0的渲染系统将会过渡到deferred rendering的框架。这样做 好处 各种效果都可以在这个框架内得到整合、发挥和发展 方便未来编辑器的构建 坏处 只需要一些底层的geek变得不方便了 我现在的考虑是,把渲染系统分为两层,底下一层是API抽象层,负责把图形API抽象成同样的接口;上一层是deferred rendering层,提供高级功能。这样就可以兼顾两种应用需要。 在deferred rendering里面,除了deferred框架本身,还会包含GI、SSVO、HDR tone mapping、FXAA、Color grading以及Stereo。
上篇文章讲述了几种基于post process的AA方法,有没有可能将post process AA和hardware AA结合起来呢?本篇要讲的正是这样的hybrid AA。 首先补充一下,对于MSAA的计算浪费,可以从下面的对比图看出来: [caption id="attachment_1155" align="aligncenter" width="646" caption="MSAA需要计算的edge"][/caption]   [caption id="attachment_1156" align="aligncenter" width="647" caption="真正需要计算AA的edge"][/caption] 有了这个对比,大家应该有了直观感受,MSAA实际上把很多计算量浪费在了实际上不必要AA的像素上了。如果样本数高,浪费会更严重。 上一篇提到的那些基于post process的方法其实都在做一件事 ...
上一篇文章Anti-alias的前世今生(一)介绍了硬件支持的AA方法,本篇将重点阐述新兴的基于post process的AA。 SSAA、MSAA、CSAA这些方法虽然硬件直接支持,但带来的额外开销不可小视。一方面是它们对存储空间带来的冲击是惊人的。尤其在非桌面平台上,内存本来就不多,如果还需要AA的话就吃不消了。如果同时使用了MRT和AA,显存开销更是天文数字。另一方面,这些方法对“edge”的考量都是primitive的边界,不管这个edge是否真的需要AA,所以会浪费很多计算量。 GPU Gems 2的第九章Deferred Shading in S.T.A.L.K.E.R.在游戏界第一次宣传了Deferred Shading的概念,同时也提到了Deferred框架无法使用硬件MSAA的问题。虽然Deferred Lightin ...
Anti-alias,简称AA,在图形学中广泛地用于提升渲染质量。经过几十年的发展,AA也从离线渲染逐步普及到了实时渲染的领域。本系列文章将总结一下在实时渲染中使用的AA方法的前世和今生。本篇集中讨论硬件提供的AA方法。 [caption id="attachment_1126" align="aligncenter" width="258"] 图1. 一个像素内部的采样点。16个红圈表示16个采样点,蓝色和黄色是覆盖了这个像素的两个三角形。[/caption] SSAA Super Sampling Anti-Aliasing是最直观的一种AA方法。实现方法之一就是渲染一个大图,然后downsample,这相当于在每个最终像素内部做了一个均匀分布采样。更通用的描述是,每个像素分布多个采样点(可以均匀分布、Poisson分布、随机分 ...
在GDC2011上,有一种新的基于post process的AA方法Directionally Localized Anti-Aliasing。从结果上看,它比MLAA好,并且速度比常见的GPU MLAA快。具体资料可以在这里找到。
随着Deferred Rendering的普及,许多人开始研究靠post process完成的anti-alias。从STAKLER的Edge AA,到AMD的Directionally Adaptive Edge AA,到Jimenez's MLAA,到I3D 2011上不是纯post process的SRAA,一路都在谱写着post process anti-alias的新篇章。 最近又有两个新的Post process anti-alias出现:NVIDIA的FXAA和Humus大牛的GPAA。这几乎在预示着,anti-alias已经进入了post process的时代。硬件MSAA虽然方便,但由于需要在所有三角形的边缘都作,实属浪费。 NVIDIA的FXAA实际上可以看成是NV实现的GPU MLAA。它将出现在NV SDK 11中。基本性能是1280x720的分辨率下,在NVS 160M上花3.5ms,在Xbox 360上小于2ms。Jimenez's MLAA ...
GDC 2011上GPU Pro 2正式开卖,于是乎备受关注的Jimenez's MLAA也揭开了面纱。在他的网站上不但公开了摘要、截图、视频,甚至还有可执行demo和源代码! 以下是转自http://www.iryoku.com/mlaa/的一些下载: Precompiled DX10 Demo [14.3 MB] Additional images [72.1 MB] HD Movie [164 MB] Source code Changelog 1.4 (March 5, 2011): DX9 version, improved pattern blending, better area textures, enhanced the MLAA class interface (now it allows to specify external storage, just in case you have spare render targets) and various minor fixes. 1.3 (February 28, 2011): initial release. Download DX9 sou ...
终于啊,等了整整一个月。 paper的本地下载可以在http://www.klayge.org/?page_id=740找到 原作者下载地址在http://anteru.net/projects/research/subpixel-reconstruction-antialiasing/
前些天我有个帖子讲了NVIDIA网站上有介绍I3D 2011的paper——Subpixel Reconstruction Antialiasing。最近好多朋友问我这篇paper是否已经公布,最新消息是,根据paper第一作者Matthäus G. Chajdas的说法,paper和video将在2月28号提供下载。 需要注意的是,SRAA并不是一个post process的AA方法,而是深深地植入Deferred Shading的pipeline中。对于不打算那么用的朋友来说,可能MLAA是个更好的选择。或者借鉴SRAA的一些优点,得出更好的AA方法。