面的反射特性

可以修改Patch对象和Surface对象的反射特性,从而改变在场景中应用光照时对象的显示外观。这些特性包括:

镜面反射和漫反射

环境光

镜面反射指数

镜面反射光的颜色

背面光照

可以组合使用这几种特性来生成特殊的显示结果。

镜面反射和漫反射

可以通过设置SpecularStrength和DiffuseStrength属性来控制对象曲面镜面反射和漫反射的强度。图3-2演示了不同反射类型和强度下的设置效果。

Document Image Document Image
\[\]

图3-2设置效果一 图3-3 设置效果二

环境光

环境光不是镜面光,它均匀地洒在场景中的所有对象上。只有在坐标系中有Light对象时环境光才可见。有两个属性可以控制环境光:AmbientLightColor属性是一个用于坐标系的属性,设置颜色;AmbientStrength属性是一个用于面片和Surface对象的属性,确定特定对象上环境光的强度。

图3-3显示了3种不同颜色的环境光在不同强度下红球的显示效果。场景中有一个白光对象存在。

图3-3中,绿色([0 1 0])环境光对场景没有影响,因为绿光中没有红色组分。但是,RGB值[.5 0 1]定义的颜色有红色组分,所以它会影响红球的显示效果。但是它的影响效果没有白光[1 1 1]的强烈。

镜面反射指数

镜面高光的大小与面片和Surface对象的SpecularExponent属性有关,该属性的值界于1和500之间,一般对象的值界于5和20之间。图3-4演示了SpecularExponent属性取3个不同的值时白光照射下红球的显示效果。

Document Image
\[\]

图3-4 镜面反射指数对光照效果的影响

镜面反射光的颜色

镜面反射光的颜色可以有一个变化范围,即从对象颜色与光源颜色的组合色变到只有光源颜色。面片和Surface对象的SpecularColorReflectance属性控制这个颜色。图3-5显示了SpecularColorReflectance属性的值从0变到1时白光照射下红球的显示效果。0对应于对象和光源的组合色,1对应于光源的颜色。

Document Image
\[\]

图3-5 镜面反射光的颜色对显示效果的影响

背面光照

背面光照可用于显示对象内表面和外表面的差别。图3-6中被切开的柱面演示了这种背面光照效果。

Document Image
\[\]

图3-6 背面光照对显示效果的影响

BackFaceLighting属性的默认值是reverselit。这个设置将顶点法向指向相机,使内表面将光线反射到相机。将BackFaceLighting属性设置为unlit,通过将顶点法向指向背离相机的方向来取消光照。

还可以用BackFaceLighting属性删除闭合对象的边缘效应。当BackFaceLighting属性设置为reverselit时会发生这种效应,闭合对象边缘的像素会lit,就好象它们的顶点法向面对相机一样。图3-7显示了这种边缘效应,将BackFaceLighting属性设置为lit后,边缘效应消失,如图3-8所示。

Document Image
\[\]

图3-7 有边缘效应

Document Image
\[\]

图3-8 无边缘效应