前言
前面我们基本理解了怎么模拟光,怎么设置光的颜色以及物体的颜色来非常不生动形象的模拟光在计算机中。肯定在想,怎么能真的像生活中那样物体可以反光,然后有凉的地方也有不凉的地方,光也有强弱这种?其实前辈们已经给了一套很好的经验体系–冯氏光照模型
冯氏光照
这图是我从LearnOpengl那里拿的,为什么用这张图解释呢?就是因为找了很多都感觉这张图真的很贴切。
从左到右依次是:环境光->漫反射光->镜面光->混合后的冯氏光照。是不是已经看到了?是不是最后的结合已经有了很逼真的感觉?
- 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。
- 漫反射光照(Diffuse Lighting):模拟光源对物体的方向性影响(Directional Impact)。它是冯氏光照模型中视觉上最显著的分量。物体的某一部分越是正对着光源,它就会越亮。
- 镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色相比于物体的颜色会更倾向于光的颜色。
环境光非常好理解,就是给了一个基本颜色不至于让物体完全黑导致的失真