当前位置导航:炫浪网>>网络学院>>图形图像>>MAYA教程

mentalray 的antialias(抗锯齿)教学

新版本的mentalray带来了许多令人兴奋的性能提升。
从GI的速度提升到本身与maya的溶合程度。
在大部分情况下,它可以完全替代maya的默认渲染器。
这个教学着重讨论的是如何调节mentalray强大的反走样(antialias又译抗锯齿),可是号称可以跟renderman相匹敌的哦。这样强大的反走样,使mentalray很早就有了玻璃之王的美称。

不多说了,我们开始吧!


01先来看一张没有经过antialias的图。

 

02我们在这张图上看到了很多的锯齿,
锯齿是如何产生的呢?

锯齿的出现,更多的依赖于对比度和图象的细节,而不是图象的尺寸。
如果某象素周围的象素与该象素的对比度很高,那么人眼就会看到钜齿。
基于这个理论,产生了控制钜齿的办法,即对象素进行采样计算。如果对比度过高,就弱化之。

在mentalray中,采样分为7个级别。
分别为-2/-1/0/1/2/3/4
这是什么意思呢?
0表示每象素至少采样一次,而-1表示每4个象素采样一次(2X2的区域)。其余以此类推。
但是如果对每象素都进行采样,就会与渲染时间严重冲突,于是就出现最小采样级别和最大采样级别。
实际渲染时,先对象素进行小级别的采样,如果不够,再进行更高级别的采样,直到象素间的对比度弱化到阙值以内或者到达最大采样级别为止。
来看一张以4/4级采样反走样的图。
这张小图消耗了巨大的渲染时间,但是效果。。。。。。

  03正如大家看到的那样,锯齿没有了,但是整个图象显得模糊,不锐利。
所以得到一个结论,过高的采样级别会使图象变得模糊。丧失细节。

在XSI中,mentalray的采样差被设定为3级,不知道为什么maya中没有这个设定,而且最高采样级别可以设得比最低采样级别更低。不过这并不妨碍我们工作。

于是更改采样为0/2,
渲染时间大为缩短。

得到了如下的渲染图象。

  04可以看到,只有少量的锯齿。
但我们需要更高的质量,
于是,使用1/2进行渲染。
得到下图。

    05质量有所提升,但是模糊的问题仍然存在。
但是采样值不能再降了。

模糊是为什么呢?
是因为另外一个控制锯齿的手段:filter(过滤)

过滤是什么?
过滤就是把某象素周围一定距离之内的象素进行均化。
过滤方式有3种:
guass/box/triangle
这是根据过滤权重随距离衰减的曲线而命名的,曲线如下图。
我随手画了一下,了解即可,不必深入了解。

    06从左向右依次是guass/box/triangle的权重曲线。
可以从曲线上推断,guass可以获得比较满意的效果。
理论上,合适过滤值:
guass 3.0 3.0
box 1.0 1.0
triangle 2.0 2.0
这个值越大,图象越模糊。
上面的图的模糊现象,就是过滤值过大引起的。
所以,我们要减小它!
减小guass fileter的值为2.0 2.0
上面这张图为啥不显示,真奇怪。我也没办法。换了几种格式。

可以看到锯齿又有卷土重来的迹向。
怎么办?

还有第3种antialias的手段:jitter(抖动)!
抖动又是个什么东西?
通常采样是均化进行的,而抖动产生一个随机采样,使得抗锯齿显得更加自然。但是这是以牺牲几何形状的正确性为代价的,好在并不严重。
好了,让我们打开它!

于是我们得到了清晰锐利并且没有锯齿的最终图象!


相关内容
赞助商链接