在2d中实现基础光照效果!文末查看完整项目
前言
本文主要讲的是最基础的光照模型(冯氏光照模型(Phong Lighting Model
)),是一种光照的简化模型。请务必记住以下几个英文单词,对学习研究非常有帮助。
环境(
Ambient
)漫反射(
Diffuse
)镜面高光(
Specular
)
希望我们能大概了解这些知识(但不限于这些)
向量(加法/点乘/叉乘)
着色器(顶点着色器/片元着色器)
...
计算机图形学第一定律:如果它看起是对的,那么它就是对的
影响一个物体的外观颜色一般有以下几个因素:
物体表面的特质,即材质属性。(这次实现忽略材质,默认统一材质)
表面的方位与朝向,朝向常用单位法向量表示。(这次在2d中默认使用朝向屏幕
(0,0,1)
作为所有法向量)照射光的各光源性质。(这次简化为只有光源位置)
观察者位置。(这次使用相机的位置)

实现
标准光照公式可以简写成
光 = 环境光 + 漫反射 + 高光
现在逐一去实现。
环境光
环境光(Ambient
)是标准光照模型中最简单的一部分,可以理解为光照模型中的常数项。
环境光的颜色并不会随着物体的位置,光的位置,视角的位置而改变。