惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
D
Docker
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
美团技术团队
V
V2EX
Last Week in AI
Last Week in AI
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Microsoft Security Blog
Microsoft Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
B
Blog RSS Feed
博客园_首页
B
Blog
博客园 - 叶小钗
I
InfoQ
WordPress大学
WordPress大学
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Latest news
Latest news
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News and Events Feed by Topic
S
Secure Thoughts
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News

博客园 - linyizsh

t&h MTE Best fit gbuffer normal Mipmap不连续问题。 Volumetric Obscurance ao propagation volume... lpv 说下pack/unpack normal的问题 CheckPoint 修改crysis支持nvperfhud volume light/light shaft/god ray 小更新下,加了DOF DeferShading + VSM + HDR + SSAO CheckPoint d3d10 放几张美图 4.1 Atmospheric Scattering prt ZT
MLAA(Morphological Antialiasing)
linyizsh · 2010-08-30 · via 博客园 - linyizsh

    试了mlaa,后处理的aa。

    最初的文档是intel发布http://visual-computing.intel-research.net/publications/papers/2009/mlaa/mlaa.pdf,只有cpu实现。

    后来有人做了gpu版本http://igm.univ-mlv.fr/~biri/mlaa-gpu/,有篇paper,不过跟没有差不多,似乎还有个siggraph的talk,但是网上找不到,总之这个版本

有一定的简化,Z shape简化为L shape。不过对于一般游戏来讲效果已经足够。

    mlaa应该是后处理方式的aa,能达到的最好的效果了,越来越多的游戏用了这个东西,包括战神3,不过它用的是ps3的spu。

    我刚开始看上面那个gpu版本被他那些flag弄迷糊了。于是自己根据intel那个山寨了一个,回头再来看终于容易多了。。。

    gpu实现,不过在我的垃圾显卡(9400)上要花将近10ms,相信在最新的机器上应该可以勉强跑的起来,因为效果确实不错。

    先看看效果,上面没开,下面开:

对比可以看到,下面的边缘平滑的非常好,而且对于整体的颜色粗糙部分也有一定的改善,但这种改善会造成原有的信息有一些偏差,不过对于游戏通常这个偏差可以忽略。

过程如下:

首先第一步生成边缘图,红线是横线,绿线是竖线,那个gpu版本是将颜色转换到lab空间判断,我这里直接用rgb分别判断:

第二步分别生成横线和竖线的长度信息,我没有按照上面那篇gpu版本的方法分level做,而是直接做几次循环来取:

然后根据上面几张图判断shape类型,生成上下左右四个像素的比例图:

最后一步就blend到最终target上,也就是上面的效果了。

    虽然mlaa目前来讲耗的时间还是比较多,但是在延迟渲染上,比起硬件msaa和ssaa(supersample),还是要快很多,估计以后应该会有些变形,提高些速度。

    mlaa对于边缘的过滤非常漂亮了,但是缺点是由于是后处理,因此在光栅化的时候丢弃的信息就无能为力了,比如屏幕上的断断续续的细线之类。