【发布时间】:2011-06-02 22:19:26
【问题描述】:
我想知道计算由几种不同光源和环境光产生的阴影的最准确方法。 环境光是存在于整个“世界”中的光,强度相同且没有特定方向,而漫射光是由于点光源的直接照明而产生的光。
鉴于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 盏灯都有贡献,它会更亮。
我的假设是对的吗?
【问题讨论】:
标签: graphics shader raytracing