6

我想知道计算从几个不同光源和环境光产生的阴影的最准确方法。环境光是存在于整个“世界”中的具有相同强度且没有特定方向的光,而漫射光是由于来自点光源的直接照明而发生的光。

给定Ka是表面环境反射率的系数,Ia是环境光的强度,Kd是表面漫反射率,Ip1是第一个(相应的)点光源的强度,N是表面法线,L1是光(的相应的第一个来源)方向。

根据我的参考资料,现场颜色的强度应该是:

I=Ka.Ia+Kd(Ip1(N.L1)+Ip2(N.L2)) 其中' .'是点积。

但根据我的理解,真正的光强度应该在光源之间做某种平均,而不是简单地将它们相加,所以如果只有两个光源,方程应该如下所示:

I=Ka.Ia+Kd(Ip1(N.L1)+Ip2(N.L2))/2

如果有 3 个光源,但第三个被挡住并且不直接照亮表面,则:

I=Ka.Ia+Kd(Ip1(N.L1)+Ip2(N.L2))/3 (这样如果有一个地方所有 3 盏灯都有贡献,它会变亮。

我的假设是对的吗?

4

3 回答 3

6

嗯,不,光不应该被平均化。想想看。如果你只有一个强大的光源,而你添加另一个非常微弱的光,物体的颜色会减弱吗?例如,强光的强度为 10,颜色(假设方向垂直于法线,为了简单起见,没有环境光)将为 10。然后在添加第二个微弱光后,强度为 0.1,颜色将是 (10 + 0.1) / 2,即 5.05。所以增加更多的光会使物体看起来更暗。那没有意义。

于 2011-01-03T16:49:16.040 回答
4

在现实世界中,光会增加。它也应该在你的光线追踪器中。

于 2011-01-03T18:45:58.107 回答
1

亮度不是光强度的线性函数。换句话说,瞄准一个点的两个相同的光源不会被认为是一个光的两倍“明亮”。(亮度是一个模棱两可的术语——亮度是一个更好的术语,表示由人类视觉加权的辐射度)​​。

在知道各种像素的强度的情况下,您可以对要在监视器上查看的图像进行近似校正,这称为伽马校正

于 2011-01-03T18:49:46.050 回答