问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)
来源:互联网 发布:通州梨园 淘宝城 清退 编辑:程序博客网 时间:2024/05/21 18:41
前面,我们已经学习了各种反射模型。罗列如下。
漫反射模型:
高光反射模型:
根据这些模型,我们已经可以进行编程,然后生成图形。但是,为了加强这些模型的数学基础,我们引入辐射学(Radiometry)的概念(Cook-Torrance反射模型原本就是基于辐射学推导出来的)。参考过[1]~[6]这基本经典书籍,个人觉得这一章节讲解的最好是[4]: Fundamentals of Computer Graphics(当然,也有可能是“吃到第十个馒头感觉饱了”的原因)。
辐射学讨论的是光的测量问题。
光是能量的一种传播形式。
1 能量(Energy)
每个光子都有一定的能量。光子能量的多少和光子对应的频率有关,频率越高,能量越多。用符号Q表示,单位是焦耳(J)。
2 功率(Power)
3 辐照度(Irradiance)
只要将该测量仪放在某光源下,使得光线照射到该仪器的整个黑色传感器。传感器可以测出光的功率 ,然后用功率除以传感器的面积即得到辐照度E。
4 辐射率(Radiance)
4.1立体角(Solid Angle)
在学习辐射率(Radiance),需要先知道需要先知道立体角(Solid Angle)的概念。立体角可以看成是弧度的三维扩展。
弧度是度量二维角度的量,如下图:
4.2辐射率(Radiance)
之前,辐照度(Irradiance),指单位面积上的功率。
现在,辐射率(Radiance),指单位立体角单位投影面积上的功率。如下图:
光线从位置1传播到位置2。关于“辐射率守恒”,[7]中是这么证明的:
参考前面的Figure 5.10之后,似乎可以这样理解Figure 2.6的意图:
辐射率实际上可以看成是我们眼睛看到(或相机拍到)的物体上一点的颜色。计算表面一点的颜色就是计算它的辐射率。
为什么辐照度会随距离增大而衰减,但是我们看到的颜色却不会衰减呢?
这是因为随着距离变大,我们看到的物体上的一块区域到达视网膜的通量密度会变小,同时这块区域在视网膜表面上的立体角也会变小,正好抵消了通量密度的变化。也就是“辐射率守恒”。
测量辐射率仪是长这个样子:
该测试仪的原理,应该也用到了前面证明“辐射率守恒”的内容(或者说用那些内容可以更好的理解辐射率测试仪的工作原理)。
对于Radiance Collector,其对应的立体角和传感器区域面积已经固定,所以影响Radiance测试结果的是进入测试仪光通量的多少。
对于反射光线,用Radiance Collector在反射方向对准反射点,不论测试仪距离反射点远或者近,但是Radiance的测试结果相同的。因为:距离远时,照射的区域大,表面反射的光通量大,但是距离远,进入测试仪的光通量还是一样的。
对于入射光线,如果用Radiance Collector测试的话。这个测试条件就比较苛刻了。必须将测试仪在入射方向对准光源,并且测试仪的开口必须刚好覆盖整个光源,以保证原本达到入射点(反射点)的光通量刚好全部进入测试仪。如果进入测试仪的光通量少了,说明有一部分没有进入测试仪的光通量是可以达到反射点的,从而导致测试结果偏小;如果进入测试仪的光通量多了(即有一部分来自光源的光原本到不了反射点,但是进入了仪器)。也就是说,测试结果受光源位置、大小、形状等因素的影响。很少有光源满足测试条件,所以,一般不测时入射光线的Radiance。
所以,辐射率测试仪,只适合用来测试反射光线,不适合用来测试入射光线。
Referrance
[1]. Andrew S. Glassner, An Introduction toRay Tracing, Xerox PARC, 1989.
[2]. Matt Pharr, Greg Humphreys,Physically-Based Render, 3rd, Elsevier Inc., 2016.
[3]. Kevin Suffern, Ray Tracing from theGround Up, A K Peters Ltd, 2007.
[4]. Perter Shirley, Steve Marschner,Fundamentals of Computer Graphics, 3rd, Taylar & Francis Group, LLC, 2009.
[5]. John F. Hughes, Andries Van Dam,Morgan Mcguire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley,Computer Graphics: Principles and Practice, Pearson Education, Inc. 2014.
[6]. Tomas Akenine-Moller, Eric Haines,Naty Hoffman, Real-Time Rendering, A K Peters Ltd, 2008.
[7]. Michael F. Cohen, John R. Wallace,Radiosity and Realistic Image Synthesis, Academic Press, Inc., 1993.
[8]. http://www.raytracegroundup.com/
[9]. http://www.realtimerendering.com/
[10]. https://zhuanlan.zhihu.com/p/21376124
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.2)——高光反射(specular reflection)
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.1)——漫反射(diffuse reflection)
- 问题六十八:BRDF——(着色模型(shading model)(1)——反射模型(reflection model)(3.2))
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(1)——概述
- 问题六十八:着色模型(shading model)(2)——光照模型(Light model)
- 问题六十八: 着色模型(shading model)(0)——《Ray Tracing from the Ground Up》代码的移植
- 问题六十八:光照模型(Light model)——关于“环境光”模型的补充
- 图形学中的光和辐射学(Radiometry)
- Ogre着色方式和光照模型(shading mode vs lighting model)
- Ogre着色方式和光照模型(shading mode vs lighting model)
- 【Unity Shaders】Diffuse Shading——创建一个自定义的diffuse lighting model(漫反射光照模型)
- 模型(Model)类
- Django06模型(Model)
- QT——模型/视图(model/view)
- Django学习笔记(三)—— 模型 model
- Hibernate学习笔记—模型类(model)的规范
- Yii2—模型(Model)
- 开发自检测工具集合(持续更新)
- 文章标题
- Linux中TCP和UDP发送和接收缓冲区
- Hibernate中Configuration的作用
- 战胜拖延症
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)
- 导航跟随效果
- HAProxy1.4.6后端Keepalive配置
- 我是谁…我在哪里…我在做什么…
- 获取android发布版sha1
- maven exclusion写法
- excel中怎样制作下拉菜单
- 冻结时间倒数前一小时,记一次步步惊心的SQL优化
- tensorflow学习笔记(三十四):Saver(保存与加载模型)