《OpenGL ES 3.x 游戏开发》 光照系列之散射光

多媒体开发札记 at 
在前面的文章中介绍了 OpenGL 中的环境光,现在就是散射光了。散射光指的是从物体表面向全方位 360° 均匀发射的光,如下图:散射光具体代表的是现实世界中粗糙的物体表面被光照射时,发射光在各个方向基本均匀的情况,如下图:虽然反射后的散射光在各个方向是均匀的,但散射光反射的强度与入射光的强度以及入射的角度密切相关。因此,当光源的位置发生变化时,散射光的效果会发生明显变化,主要体现在当光垂直照射到物体表面时比斜照时要亮,其计算公式如下:散射光照射结果 = 材质的反射系数 * 散射光强度 * max(cos(入射角),0)在实际开发中,散射光照射结果分为两步进行:散射光最终强度 = 散射光强度 ……