TA入门笔记(十)

参考
may佬《技术美术百人计划》
冯乐乐《UnityShader 入门精要》
【Unity Shaders】法线纹理(Normal Mapping)的实现细节
光照模型 PBR

图形2.4 传统经验光照模型详解

光照模型概述

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

基于物理理论的光照模型(PBR)

偏重于使用物理的度量和统计方法,效果非常真实,但是计算复杂,实现起来也较为困难

经验模型

是对光照的一种模拟,通过实践总结出简化的方法,简化了真实的光照计算,并且能达到很不错的效果
在这里插入图片描述
现实世界的光照极其复杂,而且会受到诸多因素的影响,有限的计算能力无法完全模拟。使用简化的光照模型对现实的情况进行近似,使得计算处理起来会更容易,并且使效果更符合需求。

光照模型发展的时间轴:
在这里插入图片描述

局部光照模型

只考虑来自光源的直接光照影响,不考虑来自其他物体反射的间接光
局部光照模型满足叠加原理,可以基本将光线分为四个部分:漫反射、高光反射、环境光、自发光

漫反射

  • 当光线从光源照射到模型表面时,光线被均匀反射到各个方向,这种现象就是漫反射
  • 漫反射过程中,光线发生了吸收(改变颜色)和散射(改变方向)
  • 使用lambert余弦定理来计算漫反射光照
Lambert余弦定理

在这里插入图片描述
在这里插入图片描述
简单的说,反射光线的强度与表面法线和光源方向之间的夹角的余弦成正比

公式: c o l o r = C l i g h t ∗ a l b e d o ∗ d o t ( n o r m a l , L ) color=C_{light}*albedo*dot(normal,L) color=Clightalbedodot(normal,L)

  • C l i g h t C_{light} Clight:入射光颜色
  • a l b e d o albedo albedo:模型漫反射材质
  • 漫反射效果与观察者位置无关,与光源位置有关
  • 兰伯特模型无法提供高光效果,制作出来的材质偏向橡胶

镜面反射(高光反射)

在这里插入图片描述在这里插入图片描述
公式: C s p e c u l a r = C l i g h t ∗ m s p e c u l a r ∗ s a t u r a t e ( d o t ( v , r ) ) m g l o s s C_{specular}=C_{light}*m_{specular}*saturate(dot(v,r))^{m_{gloss}} C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值