反锯齿渲染技术--SMAA

http://www.iryoku.com/smaa/

http://www.iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.pdf

技术出来已经2年了,是一个mlaa的超级版。

背景

msaa作为最早的AA技术,核心要义是depth/stencil会有多份的subpixel,而color部分只有一份渲染消耗,然后根据test结果,来resolve color。

mlaa/fxaa系技术是根据画面信息,可以是color,也可以包括更多的东西,来做一些pattern匹配,检测到L型这样的边缘之后,做一些blur,来柔化边缘。

SMAA

全称是Enhanced Subpixel Morphological Antialiasing

是MLAA的超级版,作者也包括MLAA的作者,以及其他一些牛人。

主要加强的地方:

  • 在边缘检测以及模式匹配方面加入了更多的模式,一些锐利的geometry 边缘也可以做到较好的处理
  • 引入了MSAA部分
    • 这个算是比较质变的部分,传统MLAA是没有subpixel的,这个会像ssao一样,会有先天信息不足的不可逾越的缺陷:
    • 可以看下图,没有subpixel的情况,一些细线就是断的,这个不是MLAA算法能够处理的,必须要使用MSAA系的,有subpixel信息,才能比较好的处理

  • temporal reprojection:之前crytek,bungie都做过努力,理论上保存好vector信息,以及做好权重取舍,的确是可以做到没什么缺陷,相应的效率优势也会下降

所以简而言之是:MLAA算法强化+MSAA+temporal reprojection

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-28 23:34:01

反锯齿渲染技术--SMAA的相关文章

反锯齿渲染--TXAA

http://www.geforce.com/hardware/technology/txaa 以及CGDC15的一些资料. TXAA是nvidia独有的AA技术,需要kepler及以上架构的硬件支持(600系列以上)–只能在NV高端卡上启用,算是一个劣势吧,现在很多游戏会专门提供选项. 它有两大优势: 能够较好的处理temporal aliasing,一般的AA都是处理静态图像的,temporal aliasing是指动态情况下出现的锯齿情况 以同等级msaa的效率消耗,达到好的多的效果 技术

[sig14&gdc14]crytek的《罗马之子》的渲染技术

crytek关于son of rome在gdc和siggraph都做了presentation,两者有些地方一样的,干脆一勺烩了吧: http://advances.realtimerendering.com/s2014/crytek/Sigg14_Schulz_Mader_Ryse_Rendering_Techniques.pptx http://www.crytek.com/download/2014_03_25_CRYENGINE_GDC_Schultz.pdf 看到一直推动行业水准前进的

Deferred Rendering(三)反锯齿和半透明问题

Deferred 框架下的AA 前面说过Deferred 框架下无法使用硬件AA,这句话不严谨: Deferred Shading在G-Buffer之后,物体几何信息全被抛弃了,导致后续每个像素都独立计算,所以不能使用硬件AA: 但是:Deferred Lighting,在Shading Pass阶段,物体会被再次渲染一遍,此时打开硬件MSAA,肯定是能用的(尽管光照部分取自lighting Pass阶段得到的texture,没能享受到AA,但对最终结果影响很小). 所以,总结来看,Deferr

Android应用程序UI硬件加速渲染技术简要介绍和学习计划

Android系统的流畅性一直被拿来与iOS比较,并且认为不如后者.这一方面与Android设备硬件质量参差不齐有关,另一方面也与Android系统的实现有关.例如在3.0前,Android应用程序UI绘制不支持硬件加速.不过从4.0开始,Android系统一直以"run fast, smooth, and responsively"为目标对UI进行优化.本文对这些优化进行简要介绍和制定学习计划. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注!

Matlab作图及反锯齿

首先,推荐一个讲Matlab画图的链接,该文中的画图方法比较基础,入门很快. http://blog.csdn.net/wangcj625/article/details/6287735 下面给出一个例子. eg. 有两条曲线,X轴的区间是相同的,并且采样点个数相同.第一条曲线使用红色,第二条曲线使用绿色.需要标识出X轴坐标名称和Y轴坐标名称,还需要对标识出曲线名称. Matlab作图看上去是没有反锯齿的,但可以生成矢量图格式,比如pdf和eps等.再通过Corel Draw生成wmf格式的矢量

Shadow Volume( 阴影体)渲染技术的实现细节及感受(一)之 阴影体生成

首先贴一个链接,该链接内有大量基于OpenGL的渲染技术教程和Code Sample,本文基本上在其Tutorial 40的基础上进行了翻译,并加入了部分自己的理解.原文在此: http://ogldev.atspace.co.uk/index.html Shadow Volume,即阴影体技术.是CG中非常常见的阴影渲染技术.在自己动手实现之前,也看了好多原理上的东西.但是纸上得来终觉浅,绝知此事要躬行啊! 以此文记录下Shadow Volume实现过程中的种种. 简单地讲,光线照射空间几何物

基于物理的渲染技术(PBR)系列二

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN视频网址:http://edu.csdn.net/lecturer/144 继续上篇博客中基于物理的渲染技术(PBR)系列一的讲解,在这里我们引入了一种被称为渲染方程(Render Equation)的东西.它是某些聪明绝顶人所构想出来的一个精妙的方程式,是

游戏中的渲染技术

游戏中的渲染技术 游戏为了提高画面质量.更加接近于真实世界,使用了诸多先进的图形技术,特效的使用大幅提升了游戏画面水平~今天卡拉维德专业游戏美术学习交流平台为大家分享游戏中都有哪些渲染技术.1.运动模糊(Motion Blur)运动模糊技术的目的有二:一是增强快速移动场景的真实感,二是在FPS并不高的时候让游戏显得不是很卡.运动模糊技术并不是在两帧之间插入更多的位移信息,而是将当前帧同前一帧混合在一起所获得的一种效果.传统的运动模糊技术,游戏只是简单虚化了环境,而对高速运动的物体则仅仅保留运行轨

谷歌发布全新渲染技术,助力移动VR

原文标题:谷歌发布全新渲染技术,助力移动VR 在今天的I/O大会上,谷歌发布了一种名为"Seurat(取名自著名法国新印象派画家修拉)"的全新表面光场(surface light-field)渲染技术.该技术不仅可以为移动VR系统带来CGI质量的视觉效果,而且还可以在普通文件大小中实现这一点,这是其他光场技术难以克服的障碍. 谷歌在今天为我们介绍了一种名为"Seurat(修拉)"的新渲染技术,旨在为移动VR系统带来即便是高端桌面VR系统也难以运行的超高质量CGI a