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

假设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个灯都起作用的地方,它会变亮。

我的假设对吗?

最佳答案

好吧,不,光线不应该平均。想一想。如果您只有一个强大的光源,而又添加了另一个非常微弱的光源,那么物体的颜色会减少吗?例如,假设强光的强度为10,则颜色(假设方向垂直于法线,为简单起见,假定没有垂直光)将为10。然后在添加第二个微弱的光(强度为0.1)后,颜色将是(10 + 0.1)/2,即5.05。因此,添加更多的光线会使对象看起来更暗。那没有道理。

关于graphics - 光线追踪中正确的阴影模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4586031/

10-09 20:49