百人计划(图形)2.4传统经验光照模型

一、光照模型

光照模型(illumination model),也称为明暗模型,用于计算物体某点处的光强(颜色值)。从算法理论基础而言,光照模型分为两类:一种是基于物理理论的,另一种是基于经验模型的。

  • 基于物理理论:偏向于使用物理的度量和统计方法, 效果非常真实,但是计算复杂,实现起来也较为困难。
  • 基于经验模型:是对光照的一种模拟,通过实践总结出简化的方法,简化了真实的光照计算,并且能达到很不错的效果。
PBR是基于物理理论的,其余两个是经验模型

为什么需要光照模型?

现实世界的光照是极其复杂的,而且会受到诸多因素的影响,有限的计算能力无法完全模拟。使用简化的光照模型对现实的情况进行近似,使得计算处理起来会更容易,并且令效果更符合需求。这些光照模型就是基于我们对光的物理特性的理解。

光照模型的发展

二、局部光照模型

局部光照模型只关心直接光照部分,即直接从光源发出照射到物体表面并反射至摄像头的光线。

局部光照模型的组成:

  • 漫反射
  • 高光反射
  • 环境光
  • 自发光

(1)漫反射

在光照模型的定义中,当光线从光源照射到模型表面时,光线均匀被反射到各个方向,这种现象就是漫反射。在漫反射的过程中,光线发生了吸收和散射,而因此改变颜色和方向。

漫反射光照符合Lambert定律,反射光强与物体表面法线和光源方向之间的夹角余弦值成正比。

计算公式:

C_{diffuse} = C_{light} * m_{diffuse} * dot(n, l)  

漫反射效果与观察者的位置无关,与光源位置有关。

(2)高光反射(镜面反射)

当光线到达物体表面并发生了反射,观察视线在反射光线的附近时,便能够观察到了高光反射。高光反射描述了光线与物体表面发生的反射(光强不变,方向改变)。

高光反射的反射率是根据一种菲涅尔效应的物理现象决定,通常使用对应的反射贴图描述物体表面的反射率,并且使用光泽度(粗糙度,反光度)描述高光范围的大小。

计算公式:

C_{specular} = C_{light} * m_{specular} * dot(v, r)^{m_{gloss}}

r = l - 2 * dot(n, l) * n

Gloss(光泽度)影响了物体表面发生高光反射的面积。 

反应了光泽度与高光反射的关系的关系

不同光泽度下的高光效果: 

光泽度越大,高光范围越小。 

(3)环境光

在局部光照模型中,没有考虑间接光照的影响。为了处理这种间接光照,引入了环境光。

计算公式:

C_{ambient} = Albedo * l_{ambient}

通常漫反射的反照率来表示环境光照的反射光量。

(4)自发光

顾名思义,物体自身发射的光线,通常作为单独的一项加入光照模型。一般使用一张发光贴图描述物体的自发光。

三、经典光照模型

(1)Lambert模型

(2)Phong模型

(3)Blinn-Phong模型

 Phong模型和Blinn-Phong模型的区别:

  • 计算更加简洁,半角向量比反射向量的计算更加简洁。
  • 当光源与视线都在物体表面之上时,半角向量与法线的角度永远不大于90度。设想一种情况:当材质的反光度非常低,因此物体的被光线照射的大部分区域都会发生高光反射,这些区域中一部分高光区域的反射向量与视线的夹角超过了90度。如果使用Phong模型就会导致高光区域一部分发生缺失。这是由于phone模型只考虑视线与光照分布在法线两侧的情况。当视线与光照在法线同侧时且高光反射对亮度有较大影响时,就会发生断层。

(3)Gourand模型

(4)Flat模型

光照模型展示:

总结: 

  • Lambert模型只考虑表面的漫反射部分
  • Phong模型能够较好的呈现镜面高光的效果,也是四种模型中最接近真实的效果,需要计算较复杂的反射向量
  • Blinn-Phong模型效果与Phong模型相近,更偏向艺术性的效果,使用方便计算的半程向量代替较为复杂的反射向量,计算量小于Phong,是效果和效率的最佳选择,也是大多数情况下的默认光照模型
  • Gourand模型计算顶点光照并通过增量法插值计算多边形内部的光强,当顶点密度低时,表现效果很差,对于高光的效果也不尽如意,计算量较小
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值