首先,BRDF的内容因为见的多,用的多,所以比较容易理解。但是由BRDF引申出来的反射率,跟BRDF比不太常见,有些东西反而不易理解。尤其是组里的某大牛都不甚清楚(说明这个问题不太容易或者太过冷门),更加激发了我搞清楚并写篇博的欲望。另外,有些观点纯粹是推导公式得出,未做进一步考证,欢迎拍砖。
BRDF讲的最清楚的是PBRT这本书,而关于反射率(reflectance),只用了不到一页的篇幅去讲。我大体翻译一下:
描述BRDF或者BTDR的聚合行为是很有意义的,聚合行为就是定义为关于很多对方向的函数、关于单个方向的二维函数或者是反映整体散射性质的常量值。Ps,下面描述的只是后两种,目前我也没见过第一种。

反射率分两种,第一种是半球-方向反射(hemispherical-directional reflectance),它可以描述各个方向相同的入射情形下,在某个方向上的总反射,公式如下:

显然,从各个方向入射的都是单位1个radiance,指定方向的反射率就等于该方向反射的radiance。
但接下来的一句话用公式描述就不那么显然了,"or, equivalently, total reflection over the hemisphere due to light from a given direction",也就是说,我们可以用这个公式描述从指定方向入射,然后在各个方向反射的总反射率(我感觉这个反射率更能反映多少光被反射了,多少被吸收了)。公式推导如下:

真相大白,这两种理解确实都对应同一个反射率公式,指定一个方向之后其反射率值也是一样的。

另一种反射率是半球-半球反射(hemispherical_hemispherical_reflectance),这是一个常数,描述各个方向相同入射情形下,各个方向的总反射。有了上一个公式的推导,这个就简单多了:

总结:反射率计算中,如果是向各个方向的总反射,需要转化成irradiance,然后跟入射的irradiance相除即可。

关于反射率(reflectance)的更多相关文章

  1. AVIRIS反射率数据简介

    Surface Reflectance 高光谱图像 ↑ AVIRIS高光谱成像光谱仪采集得到的原始图像为辐亮度图像,经过校正后的L1级产品为地表辐亮度信息.但是许多时候,我们更希望知道地面目标物的反射 ...

  2. 图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)

    图形学理论知识 BRDF 双向反射分布函数 Bidirectional Reflectance Distribution Function BRDF理论 BRDF表示的是双向反射分布函数(Bidire ...

  3. (转)图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)

    BRDF理论 BRDF表示的是双向反射分布函数(Bidirectional Reflectance Distribution Function),它描述了光线如何在物体表面进行反射,可以用来描述材质属 ...

  4. Landsat TM DN值转为表观反射率

    日地距离计算参见<中华人民共和国气象行业标准太阳能资源评估方法>  

  5. UnrealEngine4 PBR Shading Model 概述

      虽然是概述,但内容并还是有些多,写上一篇PBR概念概述后,也在考虑怎么继续下去,最后还是觉得先多写一些东西再慢慢总结,所以还是尽量把这些年PBR相关的Paper精粹沉淀下来吧.     因为UE4 ...

  6. CSharpGL(53)漫反射辐照度

    CSharpGL(53)漫反射辐照度 本系列将通过翻译(https://learnopengl.com)这个网站上关于PBR的内容来学习PBR(Physically Based Rendering). ...

  7. 城市边界线预测(根据灯光指数)(PUL)

    1.EXEALL.m function EXEALL(FilePath, FileName)%执行所有流程% FilePath: 文件夹所在路径% FileName: 文件夹名称 FullPath = ...

  8. PBR Step by Step(三)BRDFs

    BRDF BRDF(Bidirectional Reflectance Distribution Function)双向反射分布函数,用来描述给定入射方向上的入射辐射度以及反射方向上的出辐射度分布,B ...

  9. 由浅入深学习PBR的原理和实现

    目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2 ...

随机推荐

  1. Meteor常用技能

    调试: 服务器端 console.log() 会输出到终端命令行 客户端的 console.log() 会输出到浏览器控制台 Mongo Shell: 启动方式:meteor mongo 清空数据:m ...

  2. java List 排序

    List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String&g ...

  3. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型——有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  4. ios下input获取焦点以及在软键盘的上面

    <!----/此方法基于zepto.min.js--> <!--/div元素没有blur和focus事件,blur focus 只适用于input 这类的表格元素--> < ...

  5. ios新特性(泛型)

    协变 子类转父类   逆变父类给子类赋值

  6. 使用面向 iOS 的本机插件扩展 PhoneGap

    本文细致探讨了 Xcode(以 iOS 设备为目标)中的 PhoneGap(也称为 Apache Cordova)应用程序本机插件.如果您刚开始接触 PhoneGap 或者需要回顾 PhoneGap ...

  7. A 标签的背景

     a {  -webkit-tap-highlight-color: transparent;  -webkit-touch-callout: none;  -webkit-user-select:  ...

  8. wxPython入门练习代码 三

    DoubleEventFrame.py: #!/usr/bin/env/ python import wx class DoubleEventFrame(wx.Frame): def __init__ ...

  9. Android 组件属性

    属性名称 描述 android:background 设置背景色/背景图片.可以通过以下两种方法设置背景为透明:”@android:color/transparent”和”@null”.注意TextV ...

  10. (转载)jQuery 1.6 源码学习(二)——core.js[2]之extend&ready方法

    上次分析了extend方法的实现,而紧接着extend方法后面调用了jQuery.extend()方法(core.js 359行),今天来看看究竟core.js里为jQuery对象扩展了哪些静态方法. ...