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














网友评论