漫反射光照模型
一、逐顶点光照
1.计算地点
顶点着色器 回调函数中
2.计算方式
逐顶点光照会在每一个物体的顶点上进行光照计算,即光照计算只在物体的顶点上进行 而在顶点之间的内部区域使用插值来进获取颜色的信息
逐顶点插值计算相关知识: 我们不需要自己去处理这个插值运算 插值运算是由图形硬件(GPU)来执行的,GPU 负责处理 3D 图形的渲染,包括顶点插值和像素插值等操作,这个过程在图形硬件中被高度优化过,因此在实时渲染中能够快速而高效地执行 我们只需要了解插值运算的大概规则即可
假设: 三角面片的三个顶点 A、B、C 该三角面片中的任何像素 P,首先会计算出它相对于 3 个顶点的位置权重 然后使用这个权重参与到 P 点的颜色计算中 Pixelcolorp = WeightA * colorA + WeightB * colorB + Weightc * color
3.优点
计算量小,通常在移动设备上性能较好,适用于移动游戏等要求性能的场景
4.缺点
照明效果不够精细,特别是在物体表面的细节区域,因为颜色插值可能不足以捕捉到细微的照明变化
5.适用场景
适用于需要在有限资源下获取较好的性能的场景,例如移动游戏
二、逐片元光照
1.计算地点
片元着色器 回调函数中
2.计算方式
逐片元光照会在每个像素(片元)上进行光照计算 意味着每个像素都会根据其位置、法线、材质等信息独立计算光照变化
3.优点
逐片元光照提供了更高的精细度,可以捕捉到物体表面上的细微照明变化,提供更逼真的效果
4.缺点
计算量大,对于橡树密集的场景需要 更多的计算资源
5.适用场景
适用于需要高质量照明效果的 PC 和主机游戏,或者要求视觉逼真度较高的场景