冯氏光照
冯氏光照
冯氏光照主要结构由三个元素组成:环境(ambient),漫反射(Diffuse)和镜面光照。
- 环境光照:就是即使在非常黑暗的环境下,也有一丝的光(比如月光),这样使得物体表面也有一点颜色。
- 漫反射光照:模拟一个发光物对于物体的方向性影响。就是比如太阳光射过来,阳面肯定比阴面亮。
- 镜面反射:给物体表面打一个亮点,相比于物体的颜色,更倾向于光的颜色。
环境光照
利用code,把环境光照添加到场景中比较简单。首先给光的颜色乘以一个数值非常小的常量,之后在乘以物体的颜色,然后使用它作为片段的颜色。
void mian(){
float alpha = 0.1f;
vec3 ambient = alpha * lightColor;
vec3 result = ambient * objectColor;
color = vec4(result, 1.0f);
}
漫反射光照
漫反射使物体上与光线排布越近的片段,越能从光源处获得更多的亮度。这就使得漫反射光照会对物体产生更加显著的视觉影响。
- 1、需要什么来计算漫反射光照?
主要使用法向量和定向的法线去计算漫反射光照。 - 2、这里说的法向量是什么?
它是垂直于片段表面的一种向量(这里以黄色箭头表示)。