Skip to content

Archive

Tag: anti-alias
最近这几个版本经常出现一些比较大的改进,需要跨多个版本才能实现。所以一直没写改进的文章。现在4.14很快就要发布了,逼自己把渲染部分的重要变化总结一下吧。 Cluster shading成为默认渲染框架 在4.11里,曾经有个实验性质的cluster shading。那时候性能还不如tile based shading,所以也就默认关闭。在4.12中,cluster shading经过了一系列的优化,终于在性能上赶上来了。所以也就能取代tile based shading,成为默认的渲染框架。 对Cluster shading的优化主要集中在cluster如何划分上。经过对不同参数组合的尝试,找到最佳的一组。不过本来的想法是用pixel shader实现shading的部分,而不是compute shader。那样的话就能让不支持compute ...
上一篇总结了VDM、动画导入、双面材质、矢量纹理这几个新功能,本篇将概括地讲一下抗锯齿和渲染框架上的改进 SMAA 原先KlayGE里一直用的FXAA。而FXAA虽然非常快,但有个很大的问题就是会让画面整体变得模糊。而后来出现的SMAA则可以解决这个问题。这里参考的是http://iryoku.com/smaa/。 SMAA和FXAA都是MLAA的一个GPU算法,SMAA注重的是把原算法搬到GPU,FXAA注重的是把原算法的思想简化后在GPU上做的尽量快。所以两者的基本算法还是差不多的,都是通过一个像素和周围像素的信息,恢复出局部几何,确定如何AA。但SMAA的搜索更为彻底,所以不是遇到边就模糊了事。这里可以看一组对比。 这是FXAA的结果。线条不连续,模糊。 这 ...
上篇文章讲述了几种基于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方法。