MENTALRAY和VRAY的GI算法比较
mentalray吧
全部回复
仅看楼主
level 9
RODGER_R2ART 楼主
如果单就GI算法而言,Vray提供的GI解决方案比MentalRay要灵活和先进,目前而言,
在直接照明阶段的一次反弹GI部分,Mentalray 有FinalGathering,Vray则有IrradianceMap,这
两种都是同一类型,极其接近的算法,虽然在某些细节上处理方式不一样,提供 给用户的可调
手段各有差别,但在这里我们不做具体比较。
但在次级GI引擎方面,Mentalray一直沿用传统的photon map算法,Vray则有自主开发的
lightcache,并且也有photon map,当然还有BruteForce,也就是DMC。
photon map是正向光线追踪的,从效率而言不及lightcache,实用性方面也不及lightcache,
photonmap对光源的要求比较多,天光,自 发光体都是不发射photons的,但这不是最要命
的,photon map算法的正向光线追踪特性使得,一个场景的GI效果够不够好,更多取决于用户
来评估其需要多少photons,易用性不如lightcache,而 且,也因为是正向光线追踪,所以阴暗
角落和细小几何边缘是这个算法很难处理到位的,lightcache在这方面比photonmap要好很多,
这就是为 什么Vray更适合室内,建筑动画的最主要原因。
当然,并不是Mentalray的开发团队都是傻子,photon map这么传统的算法被MR沿用至今,
有它的道理,这就要先理解Mentalray的shader体系,和我们Vray中所谓的material之间的差
别。
Vray大概用来用去都是围着Vray material这一个材质在转的,尽管开发团队不断推出新的
material, 但问题是,用户还是只能被牵着走。而且材质之间存在众多兼容性问题,并且 ,如
果你试图改变这些规则,那几乎是不可能的。也就是说Vray的材质体系不具备开放性。
我们再来看看Mentalray,Mentalray的材质体系一开始就被设计成开放式的,它提出一个新
的shader概念,并在设计之初就提供一套最基 本的shader库,就像一个C++的基本类库或函
数库一样,完成最最单纯且必须的功能,在Mentalray的世界里,shader不能单纯地被理解为
“明暗器”或“着色器”,它就像C++里的一个函数,接收参数,完成功能,返回结果,比如,
Mentalray里有只用来计算反射结果的 mib_reflect shader,这个shader在maya和max里都能
找到,XSI就更不必说了,mib 的前缀说明这是一个mentalray基础shader,我们 可以看到这
个shader在mentalray里是这样定义的:
color "mib_reflect"
(
color "input",
color "reflect",
boolean "notrace"
)
这是一段mentalray对该shader的定义,其实相当于一个函数形式声明,函数定义了三个参
数:input reflect 和 notrace
也就是说,这个shader可以接收来自外界传递给它的三个参数,然后返回结果,它的具体工作
方式是,使用光线追踪来计算反射,并将反射和input颜色 混合在一起并做为最终结果返回。
我们不用了解它的内部是如何实现的,我们只知道一个事实是,它用来返回一个颜色在计算完反
射后的最终结果是什么。
不难看出mib_reflect不是一个材质,它既不能是一个木质材质也不能是一个透明材质 ,它只
是一个完成特定功能的个体,计算反射,并返回结果,你可以把某个反射结果返回给一个计算
bump的灰度,反正一切都任由你选择和控制, 在mentalray里有着各种各样像这样的基础
shader,比如还有mib_refraction,用来完成折射的,等等,它们就像一个个功能块,这 样做的
好处是,这些零件可以被你任意组合。
想像一下,你将一个像素的反射计算结果传递给一个折射shader的input然后与之混合,等等
这些,你可能做任意运用,这就是这种灵活性的强大,你甚 至可以决定光线如何被计算,什么
情况下计算什么情况下不计算,你甚至可以把AO用在任何一个模块的计算上,这一切都是Vray
不可能完成的。
所以,正是因为shader和shader之间需要这样一种数据传递机制,所以Mentalray一直采用
photon map算法,而没有使用lightcache,因为photon map能很好的动作于这种机制,反向光
线追踪显然不太好适应。
所以通常,电影工业更多选择mentalray,因为电影要的是效果,不像建筑动画或效果图要的
是效率。
另外一点是,MentalRay的图像反走样计算非常的快,这一点是Vray目前还无法比的,性能
指标还差得太远。
再谈到兼容性问题,为什么三大三维软件 Maya,XSI,Max都不约而同的选择了Mentalray? 这
不是偶然,也不是商业动作,而是因为Mentalray的设计体系,它的开放性确保了兼容性做得是
最好的,它的shader只需要接收来自软件平台同类 型的数据就可以了,而Vray的material一
开始就是封装得很复杂的东西,所以Mentalray可以和这三个软件,或者说任何三维软件结合得
非常好。
谈到这里,我想选择很明显,各自的优势也很明显,从事建筑和效果图制作的人员,如果你们
觉得能适应Mentalray的灵活,那么我想一样是高效率 的,Vray的DMC内核和lightcache,以
及针对于建筑动画的各种简便功能集,都是值得称到的,但如果做特效,我会不加思索地选择
MR。
现在Mentalray也考虑到建筑动画的众多用户群了,开发了Mia shader集,功能,易用性都非
常强,我觉得大家没必要挂死在一颗树上了,总而言之,搞影视特效什么的,Mentalray是有必
要学的。 建筑动画可以按需选择一下。
2014年11月03日 03点11分 1
level 9
RODGER_R2ART 楼主
以上文章摘自网络,作者不可考,在次表示感谢!
本身对本文观点表示赞同,特此转载。
2014年11月03日 03点11分 2
level 11
学习
2014年11月03日 04点11分 3
level 5
[阴险]
2014年12月09日 01点12分 4
level 9
学mr个人感觉,关键是mr的原理。只有明白它的工作原理,调参数什么的心里有底,可以控制效果。不然越调越乱
2014年12月09日 01点12分 5
level 11
牛逼……
2015年02月13日 00点02分 6
1