本章节会讲解如何创建一个简单的点光源,它会获取第一个立方的位置并绕着第二个立方体中心旋转。
点光源是定向光源的一个进步,意味着它要进行更多的计算,以及更真实的场景。
点光源因子
当创建一个点光源时要声明一对值。要定义它 位置,范围以及衰减
位置
它由一个叫pos的3d向量组成,第一个值为x轴,第二个为y轴,第三个为z轴。但是点光源没有像定向光源和聚光灯一样的一个方向。由于它是向各个方向发散的,但是必须要有一个位置。
范围
范围由一个叫做range的float值声明。来自点光源的光线不会像平行光一样永远延续。因此,我们必须给它一个范围,在该范围之外的任何像素或物体不会被点亮。
衰减
它有一个名为att的3D向量构成。它三个值分别为att0,att1,att2。衰减Attenuation也叫做衰减因子,用于控制光的强度变化,或随着光源距离的越来越远就越低。衰减计算公式如下:
Attenuation = att0 + (att1 * d) + (att2 * d²)
d表示光源和像素之间的距离。下面解释每个因子的详细信息:
att0 - 常量
由于该值不会被任何值相乘,它叫做常量,也就是说它不会随着像素和光源的距离的