» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[业评] 家用機的4xMSAA己經過時了, CELL將更高質素的MLAA帶給戰神3 转A9

既然都说 MLAA 的完美,这里也来放点酸水

MLAA 是基于图像分析的算法,但是由于图像分析算法不知原始构成图像的几何构成,所以误杀误判都难以避免。

先来个假象状况,譬如说我们看到一个场景,近、中、远景都有。

近景的问题是,我们如何让 MLAA 知道贴图纹理中的细节不是锯齿呢?几种情况

1. 贴图本身就不正对画面,这个时候其实问题不大,Mipmap 和 各向异性过滤带来的影响可能比 MLAA 更大。
2. 贴图正对画面,如果横平竖直,MLAA 不处理,问题也不大

3. 这是杯具,但画面中即不是横平竖直,也不和画面成角度,譬如说一个矩形水平旋转个25度 …… MLAA 全力开动了

是不是没有解决办法?显然答案是否定的。我们可以先弄个通道,标记一下哪些部分是几何物体的边缘即可。这样近景的问题就可以完美解决 …… 看起来挺好的是吧

那么看远景吧。

远山怎么办?分析几何形状是不可取的,因为本身顶点可能就很密集(无限地形的游戏大多如此),或者顶点很疏散(箱庭关卡的远景大多如此)。而且也没有玩家喜欢看到山与天的交界处是有点模糊的 ……

远山的贴图通常也是高频细节满载,山上树木的不均匀的深浅不一的绿色像素,将会成为 MLAA 的噩梦。如果不想让远景绿油油的一片,只有在远景告别 MLAA。于是我们看到,用 MLAA 的游戏通常远景模糊 ……

是不是可以避免远景问题?答案依然是肯定的,我们可以让远景和近景在不同的渲染流程下画出来。先画远景,然后用 MLAA 画近景。这样也可以解决远景问题 …… 也挺好

最后是中景。

看起来中景简单,其实中景却最为困难。因为在这个距离上,玩家最容易抱怨游戏的纹理清晰度和锯齿走样问题。因为一个像素锯齿对应在游戏中的目标上可能有根火柴的宽度误差,很不爽。

因此有一种叫做Mip偏置的做法可以提高纹理精度,代价是稍微有点画面像素抖动。赛车游戏常用这种手段,否则贴近地面的摄影机镜头就算是 16X AF 都解决不了地面贴图模糊的问题(倾角太大)。

可惜这种 Mip偏置 产生的大量高频细节不能和 MLAA 配合。因为谁会觉得一个边缘锐利,贴图上闪烁的奇怪画面?所以通常大家都选择在这里让步一把,贴图模糊一点就模糊一点点吧。这一点在战神3的墙壁啊,地板啊,大家也都看得见。

最可惜的是,中景问题没有办法完美优化。

那么我们看到的结论很简单,想要有完美的 MLAA

1. 先绘制远景
2. 绘制中景
3. 中景 MLAA 合成到远景
4. 绘制近景 + 近景边缘标记
5. 近景 MLAA 合成到中景和近景

恩,全套下来,很完美很和谐,可以差不多看齐 8x SSAA  了。问题是,性能呢?咋办?

于是我们看到的 MLAA 其实是一个在有限条件下,可以在部分景别中逼近 SSAA 的效果。此外论文中 MLAA 的主要比较对象也就是 4x 的 SSAA。

最重要的是,这法子对神机来说几乎免费 …… 个人觉得这才是重点,品质啥的,大家觉得可以看就好了


TOP

MLAA  对于 GT5 车内阴影的那种大尺寸锯齿是没用的

赛车游戏需求有点点不同 …… 其实Hardcore赛车游戏玩家在意的是画面信息量,宁可信息过剩不可光滑滑一片啊 ~

不过对驾驶和回放分开处理倒是不错



TOP

引用:
原帖由 superjay 于 2010-3-4 13:23 发表


神机威武了。。。独占特效啊。。。当年A卡曾经因为抗锯齿效率高,成为了画质的代名词,这下神机用户有得玩了
到不是说独占 …… 并行处理的开发难度实在太高了 …… 用完 SPE 很麻烦。

看 SDK 倒是很容易把代码段绑定 SPE。所以么,直接写个给 SPE 跑的东西丢给用不到的 SPE 核心。不就等于免费了么 ……


TOP

发新话题
     
官方公众号及微博