其实这个blinn-phong模型本身也是不考虑光源和物体的距离的,他的漫反射部分的公式实际上是光照颜色*漫反射系数*max(0,单位法线向量*单位入射光向量),在这个公式里漫反射系数是自定的一个材质参数,当作不变,而光照颜色也是这个公式的一个输入量,也是视作该公式的一个参数,因此直接影响公式结果(也就是漫反射颜色)的就只有法线和入射光的角。所以可以说这个光照模型本身是不对“距离”这个量进行“直接”计算的
至于光照能量随距离衰减,这个计算是放在求漫反射之前,计算光照颜色时做的。所以从结果上来说这个光照模型总体上对光线能量的衰减只处理了光源到物体的部分,而对物体到人眼的部分置之不理。
可能你觉得会不符合现实。因为,在现实生活中,不论是光源到物体的光线还是经物体反射到人眼的光线,只要是光,那就是电磁波,在传播的过程中不论如何都必然伴随着能量衰减。很显然我们的blinn-phong模型和现实相悖。
但我可以说实际上这个光照模型它就是不符合现实的,因为他只是一种“经验模型”,只是让人觉得看起来对,看起来符合常理,并不是“基于物理的渲染”,但哪怕是“经验模型”,在一定程度上也足够欺骗人的眼睛了。
很多时候我们觉得电影或者游戏有“真实感”,但实际上通过对比我们会发现它们并不一定是完全符合现实。我们之所以会产生“真实感”,就是因为我们看到的东西“符合常理”,是我们的大脑觉得它们看起来没问题而已,毕竟大脑是不会对接受到的每一个光线都做路径追踪的。
This post has received 2 votes up.