冯氏光照

发布时间 2023-08-03 09:24:08作者: 九叶草

冯氏光照

冯氏光照主要结构由三个元素组成:环境(ambient),漫反射(Diffuse)和镜面光照。
image

  • 环境光照:就是即使在非常黑暗的环境下,也有一丝的光(比如月光),这样使得物体表面也有一点颜色。
  • 漫反射光照:模拟一个发光物对于物体的方向性影响。就是比如太阳光射过来,阳面肯定比阴面亮。
  • 镜面反射:给物体表面打一个亮点,相比于物体的颜色,更倾向于光的颜色。

环境光照

利用code,把环境光照添加到场景中比较简单。首先给光的颜色乘以一个数值非常小的常量,之后在乘以物体的颜色,然后使用它作为片段的颜色。

void mian(){
 float alpha = 0.1f;
 vec3 ambient = alpha * lightColor;
 vec3 result = ambient * objectColor;
 color = vec4(result, 1.0f);
}

image

漫反射光照

漫反射使物体上与光线排布越近的片段,越能从光源处获得更多的亮度。这就使得漫反射光照会对物体产生更加显著的视觉影响。

  • 1、需要什么来计算漫反射光照?
    主要使用法向量和定向的法线去计算漫反射光照。
  • 2、这里说的法向量是什么?
    它是垂直于片段表面的一种向量(这里以黄色箭头表示)。
    image