看了闫令琪的视频,这里简单总结一下。

首先有个很重要的漫反射概念:漫反射表示的是光线到达物体表面的某一点,在以它为中心的半球内被均匀反射。

经验公式

两个问题:

1.我们观察到的点,有多少光到达?

2.有多少光被反射?

从上图可以看出,当face旋转了60°后,同样到达top face(我这里定义成dA)的光量变成一般即cos(π/3) = 1/2。

可以得出结论:单位面积接收的光量和cosθ成正比。

我们还需要考虑面积到光源的衰减问题,如下图:

假设光源的功率是Φ,由于所有球面总共的能量也是Φ,那么每个球面单位面积的辐照度(irradiance)是:

现在我们简化物理,把E简化成光照强度I(Intensity)。

半径为1的球面单位面积的Intensity是I,那么半径是r的球面的Intensity就是I / r²。

我们再定义一个反射系数,即到达的光有多少被反射

那么我们可以得出Lambert的Diffuse经验公式:

能量守恒下的漫反射

从经验公式可以看到,物体并不符合能量守恒。

怎样才符合能量守恒?

半球内任意一个方向的漫反射颜色的计算:

其中就是漫反射的比例系数。

由于漫反射是半球内的均匀反射,那么就是反射出去的radiance。

引入一个问题:

单位半球内的面积是是2π,为何ρ不是1/2π呢?

反射方程,计算的是半球到方向的反射,即hemispherical-directional reflectance

那么反过来,也有方向到半球的反射,就入射光只是一个反向,但反射到半球内的所有方向,叫directional-heispherical reflectance,漫反射就是这种。

公式如下:

R(l)是一个反射率,并不是radiance。由于漫反射是均匀反射,即f(l,v)是一个常数ρd。

在假定没有吸收的时候,上式的R(l) = 1,上式写成:

求得:

================下面理解是错误的===================

那么半球内所有的基于漫反射的反射光的总和是:

要符合能量守恒,必须满足下面的不等式:

意思是反射光量的总和必须小于等于入射光量。

对半球做积分:

不等式移项得

最后得到

=================上面理解是错误的=================

所以Lambert的漫反射在能量守恒下,要除以π。

Lambert漫反射模型相关推荐

  1. Lambert漫反射光照模型归纳

    此模型属于经验模型,主要用来简单模拟粗糙物体表面的光照现象 此模型假设物体表面为理想漫反射体(也就是只产生漫反射现象,也成为Lambert反射体),同时,场景中存在两种光,一种为环境光,一种为方向光, ...

  2. Shader编程——高光漫反射模型

    在实现该模型之前,我对shader和计算机图形学的知识可谓是空白,但是立志成为伟大游戏设计师的我又怎么能放弃对梦想的探寻,在网上寻找相应的课程,恰好看到一篇关于Shader入门的教程,学完之后觉得有所 ...

  3. 3D图形学(5):BRDF经验模型和基于物理的BRDF模型

    内容引自<Real Time Rendering 3rd> 一.BRDF 双向反射分布函数 在计算机图形学中,BRDF(Bidirectional Reflectance Distribu ...

  4. 【技术美术图形部分】PBR直接光部分:Disney原则的BRDF和次表面散射模型

    写在前面 补充去年遗漏下的知识.很多叙述都是参考了众多大佬的文章!因为是作为个人学习总结的博客,所以直接卑微的借鉴过来了,后面会给出所有参考的文章. 另外,放上一个忘了在哪一篇知乎评论里的截图: 说的 ...

  5. 基于微平面理论的BRDF模型(PBR材质、Cook-Torrance、GGX)

    前言   因为前边讲了在Unity中如何实现一个BRDF--简单来说就是把公式抄到Shader里,于是这篇文章则主要从原理角度来讲一讲基于物理的BRDF公式为什么长那个样子.本篇文章主要是整理一下去年 ...

  6. 虚幻4渲染编程(重写渲染管线篇)【第一卷:从零开始推导PBR渲染模型---上】...

    我的专栏目录: 小IVan:专题概述及目录 章节概述: 作为一个美术,一般遇到渲染管线上的问题的时候往往会束手无策,因为整个c++层到shader层这么大一块的系统都是由图形程序大佬一手搭建起来的.这 ...

  7. (转)光照模型及cg实现

    经典光照模型(illumination model) 物体表面光照颜色由入射光.物体材质,以及材质和光的交互规律共同决定. 由于环境光给予物体各个点的光照强度相同,且没有方向之分,所以在只有环境光的情 ...

  8. 简单 局部 整体光照模型计算机图形学,计算机图形学北大光照模型.ppt

    计算机图形学北大光照模型 * 当来自光源和周围环境的入射光照射在景物表面上时,将有部分光被反射或透射: 在视线方向的反射或透射光,被观察者眼睛中的视觉细胞接收 人眼中的杆状及锥状细胞接收光线,产生视觉 ...

  9. 浅墨博客《Real Time Rendering 3rd》提炼总结 截取(一)

    来源:https://blog.csdn.net/poem_qianmo?t=1 对浅墨提炼总结进行截取,没有提炼也没有总结. 另外第四版已经出了,在CSDN可以下载电子版,与第三版的差异:https ...

  10. 15.真实感图形——光照与明暗+光线跟踪+纹理映射+辐射度方法+阴影

    ♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥ ...

最新文章

  1. C++——运算符重载operator
  2. 网站优化关键词如何分类看好这四种!
  3. python3中map()函数用法
  4. 搭载「光线追踪」技术的次时代主机会有怎样的画面表现?
  5. CUBA Platform 6.3的新增功能
  6. 【Python算法】遍历(Traversal)、深度优先(DFS)、广度优先(BFS)
  7. w ndows10即将停止更新,微软开始警告Windows 10 v1909用户即将停止更新服务
  8. 家人重病什么心情都没了
  9. 深入分析MVC中通过IOC实现Controller依赖注入的原理
  10. 使用云打码识别验证码
  11. Ubuntu 20.04 虚拟机镜像源更改
  12. 怎样用计算机做周计划表,电脑如何制作学生学习计划表
  13. Shell脚本自动化部署实战(一)
  14. boost::geometry::ever_circling_iterator用法的测试程序
  15. 算法题:Rod Cutting
  16. selenium PhantomJS Fiddler使用
  17. Exchange 2013管理员账号登录ecp登陆不了
  18. 国内物流公司通用Material Number Range
  19. 【Base】ping-pong buffer
  20. 何以解忧,唯有暴富,2019再见

热门文章

  1. outlook邮件路径更改_如何更改Outlook的新邮件警报声音
  2. 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error
  3. XML文件的操作--上
  4. 修改UEditor编辑器上传图片大小限制
  5. 云计算 ——虚拟化认识
  6. Java-----关于IO流的总结
  7. 解析Google地图的Search接口返回的f.txt文件数据(其他类似)
  8. 遥感图像超分辨重建综述
  9. 第一章 .NET体系结构
  10. 传统推荐模型——协同过滤