OpenGL光照(冯氏光照模型)

1、OpenGL最容易理解和实现的就是冯氏光照模型了。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。公式:Result = Ambient + Diffuse + Specular。公式左边是最终计算后得到的像素值,即要输出的像素,像素是RGB向量,如白色(1.0, 1.0, 1.0),右边的三个值是需要我们分别计算的像素值。

环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照看起来像下面这样:


OpenGL光照(冯氏光照模型)_第1张图片
冯氏光照模型.png

2、环境光公式:Ambient = ambientStrength * lightColor

3、漫反射公式:Diffuse = DiffuseStrength * lightColor * cos(a)

OpenGL光照(冯氏光照模型)_第2张图片
漫反射.png

4、镜面反射公式:Specular = specularStrength *lightColor * cos(a)^n

OpenGL光照(冯氏光照模型)_第3张图片
镜面反射.png

你可能感兴趣的:(OpenGL光照(冯氏光照模型))