为了帮助大家更好的理解局部辐射,在这里讲解一下与其相对的全局辐射算法的概念。所谓全局辐射光照模型,指的是通过光线跟踪等技术,计算场景中所有包括反射、辐射等所有光线的照明结果的算法模型。虽然全局光照模型可以产生和真实照片媲美的渲染结果,但因为其算法相对比较消耗时间,所以目前仍然无法应用于即时渲染领域(即时运算的3D应用程序,至少要每秒产生30帧画面)。所以全局光照模型现在只活跃于用来产生照片质量动画的“离线”渲染工具中,比如Pixar’s RenderMan(http://www.pixar.com),Mental ray(http://www.mentalimages.com,包括3D Studio Max 等商业软件所使用的工具),POV-Ray(http://www.povray.org,一个开源的光线跟踪渲染工具)以及Aqsis(一个免费开源的符合RenderMan标准的离线渲染器)中。
图6-1展示了在3D Studio Max软件中材质编辑中的镜面高光的属性调整对话框,同时也有调整之后的渲染结果。其中“高光级别”参数等同于Ogre中“specular power(镜面能量)”的概念。而另外的“光泽度”等同于Ogre中“shininess specular(镜面亮度)”参数。镜面能量决定能反射回来光的总量(表现为曲线的高度),另外的镜面亮度定义了高光如何被“展开”(越高的数值曲线越光滑)。图6-1(a)描述了一个胶皮球被一个光源照亮之后镜面高光的效果。图6-1(b)拥有一样镜面能量,但是调整镜面亮度到一个小一点的值,{zh1}在图6-1(c)中和图6-1(a)同样镜面亮度的前提下,减少了镜面能量的数值。
计算机图形学中的细节等级(Level of detail)这个术语经常是用来描述几何体复杂度等级和摄像机距离的关系。同样的,这种描述也可以类似的用在材质上。例如说,你可以通过脚本把当前材质定义成多层纹理(用不同的方法来混合它们),并且同时拥有顶点和片断两种GPU着色程序。就算在一个很近的距离,也能在你的模型上面表现出“无与伦比”的漂亮材质细节。然而,当这个模型在屏幕上缩小到12像素的时候(就是说距离变远了),你认为这样做还值得么?