1Mentalray的基础介绍1)要了解Mentalray的原理首先我们要知道以下几种渲染器算法:常见的软件渲染算法有扫描线,光线跟踪,光能传递3种扫描线算法scan-line:扫描线算法很简单,它的基本思路是把三维场景根据摄像机的设置进行二位投影,然后把投影分割成小块,逐步进行计算的方式。这种算法最大的好处就是速度快,几乎所有渲染器都支持扫描线算法。首先,将三维场景中的物体沿摄像机矢量方向的反方向进行投影,并计算z通道,和采样点的颜色信息。然后利用这些信息最终求出渲染图像中每一个像素的颜色值。代表软件renderman光线跟踪算法raytracing:光线跟踪的计算方法与现实生活中的成像原理十分相似,它是计算由光源发射的光线,把它看作是无限长的射线,当遇到反射或折射时改变方向,遇到漫反射面或无物体阻挡时结束,在真正计算实则是逆向求解。这种算法的好处就是能真实地再现物体之间的折射和反射,可以很容易的渲染出照片质量的图片。代表软件mentalray.光能传递算法Radiosity:是基于真实的热辐射传递公式的算法,它将场景分为许多大小不同的面,逐个计算光线在每个面上辐射的值,经衰减后,再传递到对应的方向的面,如此下去,直到光线的能量低于我们设定的值。由于这种算法完全以物理学原理为模型,所以效果非常真实,但是速度非常慢,一般只用于静桢。代表软件maxwell硬件渲染:完全由显卡计算出的画面,多用于粒子的渲染,游戏画面的制作和wed3d。渲染效果取决于显卡。代表软件CgFX对渲染算法和渲染器的了解,对工作效率的提高至关重要。2)Mentalray渲染器的几大模块以Maya2008为例,Mentalray的渲染设置窗口有别于前几个版本,将功能分类的更加详细主要区域分为:品质设置(QualityPresets)、渲染功能(RenderingFeatures)、反锯齿设置(Anti-AliasingQuality)、光线追踪设置(Raytracing)、阴影设置(Shadows)、运动模糊(MotionBlur)、焦散和全局光照(CausticsandGlobalIllumination)、最终聚集(FinalGathering)、渲染诊断(Diagnostics)、渲染设置(RenderOptions)、帧缓冲(Frambebuffer)、轮廓线(Contours)、毛发转换(Translation)、预览(Preview)、习惯定制(CustomEntities)、环境设置(Environment)如图:图8.1.1-01Mentalray设置窗口3)其中我们主要学习:焦散和全局光照(CausticsandGlobalIllumination)、最终聚集(FinalGathering)两个部分。焦散和全局光照(CausticsandGlobalIllumination):如果光线照射到物体后又经过反射等方法照亮其它物体的话,就产生了所谓的间接照明,比如一面可以反射光线的镜子,或是可以漫反射光线的白墙。GI(globalillumination)就是一种可以获得间接照明的方法。GI是用模拟的方法来得到光线反复反射的效果的光线在物体上的反射可以分为3种情况:漫反射光滑反射镜面反射漫反射是指光线照射到受光物体后,反射出来的光线方向被均匀地分配在一个半球状的空间中。镜面反射是指光线照射到受光物体后,反射出来的光线以镜相方式改变了方向,反射角等于入射角。光滑反射和镜面反射差不多,不过反射出来的光线方向并不象镜面反射那么单一。在计算机图形学中,光滑反射是比较常见。其实本质上光滑反射和镜面反射的原理是一样的,只是在现实中不存在绝对光滑的物体表面,大多数看似十分光滑的表面其实都有很多肉眼看不见的微小粗糙。所以最后我们只能得到光滑反射。镜面反射与折射产生的聚焦和散焦可以产生caustics(焦散线),然后照射到一个有漫反射属性的物体上。比如说,有折射效果的水杯会投射caustics到有漫反射属性的桌子上,一面镜子也可以实现类似的效果(反射)。还有一个典型的例子就是光线穿过有折射属性的水面到达游泳池的底部。还有一点,就是caustics也具有GI的功能(间接照明)。图8.1.1-02三种反射的说明图例但是,MR视caustics和GI为不同的照明方法,并独立的控制它们causticst和GI最少有两种明确的用处:1.从光学上精确地再现自然环境中的光线作用效果,比如写字楼内部的光线2.模拟真实光线,用与影视娱乐业与商业。在这个领域里不在乎光学理论上的精确性,只要看着真实就可以了。MR用两步计算GI。第一步,光源发射很小的并带有能量的小包裹(我们叫它光子(photons))发射到场景中。我们要追踪这些光子在场景中反弹的路线。其中一些光子会被物体吸收或被反弹到无限远的空间里。当光子与一个物体相撞,它可以被反射,发射或吸收。当一个光子经过所有漫反射表面的物体并产生了路线之后,就会被储存到一个可以描述三维空间的数据结构里,这就是光子图。光子被不断射出直到达到要求数量的光子都储存为止,或者也可以指定一个最多可射出光子的数量。第二步,在渲染时物体还是被局限照明照亮,然后我们找到离照明点比较近的光子并以它的光子图为依据对场景进行补偿以达到间接照明的目地。这样任务就很清楚地被分来了:直接照明用局部照明实现,而间接照明用GI。局部照明只处理多光源到被照明点为直线的光线(可能但阴影削弱),GI则处理反射光线。GI和caustic唯一不同的地方在于GI的光子是按漫反射通道(diffusepath)反射的,而caustic的光子是按镜面反射通道(specularpath)反射。4)知道了原理下面让我们详细认识一下GI和Caustic的各项参数因为GI、Caustic和FinalGathering的渲染是和灯光分不开的,所以下面也会连带介绍一下Maya灯光中的Mentalray属性。图8.1.1-03GI、Caustic的渲染参数图8.1.1-04图8-1-4AreaLight、DirectionalLight、PointLight、SpotLight的光子设置(AmbientLight、VolumeLight是无法发射光子的)图8.1.1-05FinalGathering设置面板Mentalray的基础介绍就到这里,下节课我们结合实例具体学习Mentalray的强大功能。