However, this model has a number of flaws, and these flaws become more apparent as we strive for more realistic rendering effects. One problem is thatobjects in a scene do not typically receive all their illumination from a small number of specific light sources.Inter reflections between objects often have noticeable and important contributions to objects in the scene. The traditional computer graphics illumination model attempts to account for this phenomena through an ambient light term. However, this ambient light term is usually applied equally across an object or an entire scene. The result is a flat and unrealistic look for areas of the scene that are not affected by direct illumination.
Another problem with the traditional illumination model is that light sources in real scenes are not point lights or even spotlights---they are area lights. Consider the indirect light coming in from the window and illuminating the floor and the long fluorescent light bulbs behind a rectangular translucent panel. For an even more common case, consider the illumination outdoors on a cloudy day. In this case, the entire visible hemisphere is acting like an area light source. In several presentations and tutorials, Chas Boyd, Dan Baker, and Philip Taylor of Microsoft described this situation as HEMISPHERE LIGHTING and discussed how to implement it in DirectX.
使用半球光照,可以在球体的上半部分接受来自光源的光,而下半部分是自己指定的颜色,也就是一个来自天空的颜色一个来自地面反射给他的颜色.
半球光照可以用来预览模型,检查模型的细节。也可以与传统的光照模型一起使用,给予重要部分更高亮度。