我发现如果我计算两次光线衰减(从点光源到片元、从片元到摄像机),渲染出的效果非常暗(p1),但只计算一次光线衰减时接近正确效果(p2),请问是我的理解有误还是可能出现了什么问题呢?
我觉得这个就是设置 linear,quadratic 的问题吧
我似乎明白了一些,公式中的衰减因子是从光源到片源的衰减而非片源发出光的二次衰减。我理解镜面反射光因其类似聚光灯而不必考虑衰减,但是为什么同样是接近球型的光,漫反射光的光强不会像点光源一样衰减?
首先这种计算是典型的 phong shading 方式。那么为什么会这样,我的理解是:光源到片元的距离衰减是为了模拟漫反射时光源直射点和周围一圈一圈的光强衰减;而反射的损失是根据反射夹角来计算的。当然,这都是一种近似,并不完全准确,更准确的需要用到 ray tracing 用到的辐射能量学,计算方式是完全不同的,比如像同学你指出的镜面反射,有的时候也得考虑折射的损失,但这里同样不考虑
大概理解了,谢谢
没事不客气