首页 > 其他分享 >06 PBR

06 PBR

时间:2023-05-26 22:55:40浏览次数:32  
标签:irradiance radiance 06 PBR 镜面反射 方向 功率 omega

一、理论

1. 反射率方程

\[L_o(p,\omega_o)=\int_\Omega f_r(p,\omega_i,\omega_o)L_i(p,\omega_i)n\cdot \omega_i d\omega_i \]

反射率方程应该这样理解:

  • 辐射radiance某个着色点或者光源位置附近单位面积(法向)从某个方向的单位立体角接受或者发射的功率。可以看出,radiance约定了方向和源(或者说目标),实际上我们是使用辐射radiance来作为描述光的功率传播的概念,通常的,我们把它绑定到光线上作为光线传播的属性。我们的一切计算都是基础radiance的。

\[L=\frac{d^2\Phi}{d\omega dAcos\theta} \]

  • 辐照度irradiance是指空间中在单位面积(无法向要求)上的功率。

\[E=\frac{d\Phi}{dA} \]

  • 实际上,我们在研究辐照度时并没有在定义中强调他的方向性,只是在说明了他的空间分布特征,然而研究方向性是有必要的,这在下面会体现出来。显然的是,辐射radiance便是存在着方向性的辐照度irradiance,由前面的定义式可得关系如下:

\[dE(\omega)=L(\omega)cos\theta d\omega \]

  • 在将功率的空间分布概念,即辐照度irradiance,拆分成了不同方向的辐射radiance之后,这就方便我们将在空间中分布的功率概念使用提供功率的源来解释,这样一来我们就可以为空间中分布的功率以他们的来源方向不同赋予不同而属性,事实上这是有价值的,因为在光的可观性方面,出射角和入射角是有很重要影响的因素。
  • 我们应当这样来看待着色点:着色点会从空间中所有可观的光源那里(一般是半球空间)获得一个辐照度irradiance属性,进一步的正如前面所述,这个辐照度是由半球面内所有方向的radiance贡献的综合,在这之后着色点会将其辐照度向着所有的可发射方向(一般是半球空间)发射能量,每一个方向都会分配到一个radiance分量。然而,吸收和反射这两个过程并不是解耦的,即来自所有方向的radiance并不是首先综合成一个irradiance属性然后再去分配的。这是因为反射面材质的问题,反射光线与入射光线的方向存在关系,尤其是对于镜面反射或者有着glossy属性的镜面反射、以及折射而言,反射光线的方向相对于入射光线的方向是一个分布。因此,有必要探究来自不同方向的入射功率radiance,并考虑到他们的方向之后再去综合对某一个特殊方向的出射功率radiance的综合影响。
  • BRDF便是描述出射功率相对于入射功率的关系影响的因子,它是着色点某个出射方向\(\omega_o\)的radiance对来自某个入射方向\(\omega_i\)的irradiance的微元比值,即:

\[f_r(p,\omega_i,\omega_o)=\frac{dL_o(\omega_o)}{dE_i(\omega_i)} \]

  • 考虑到radiance与irradiance都是单位概念,取微元比值是指输出radiance相对于输入irradiance的微分结果,这样就方便得到输出radiance的积分公式:

\[L_o(\omega_o)=\int_\Omega f_r(p,\omega_i,\omega_o)dE_i(\omega_i) \]

  • 参考radiance与irradiance的关系,我们可以得到:

\[L_o(\omega_o)=\int_\Omega f_r(p,\omega_i,\omega_o)L(\omega)n\cdot \omega_i d\omega \]

  • 显然,这便是反射率方程。自然而然地,我们可以得出结论:反射率方程是用于描述某一个着色点p的向着某一个出射方向\(\omega_o\)的功率radiance,在考虑到出射光与入射光的角度关系对分布的影响后,对所有方向的入射功率radiance转化得到的辐照度irradiance取贡献因子BRDF之后,做积分的结果。

2.Cook-Torrance BRDF

\[f_r=k_df_{lambert}+k_sf_{cook-torrance} \]

我们的BRDF是分成两个部分的,应该这样理解:

  • 光照射到表面后,一部分会被直接反射出去,即镜面反射speculr部分,我们令这一部分占到的功率比重是\(k_s\)。
  • 相应的,另一部分的比重就是\(k_f=1-k_s\)。另一部分是会被吸收到物体内部的光线,他们在物体内部不断弹射,一部分会被完全吸收转化为热能等,另一部会从入射点附近重新发射到外部,可以看到从一个着色点入射并吸收的这一部分光如果没有被完全吸收会从多个位置出射,这便是次表面反射。一般来说,我们并不关心次表面反射,直接使用漫反射来描述这个成分。
  • 使用两个因子,就可以保证反射的光功率符合能量守恒了。

2.1 Lambert漫反射

  • 前面提到,有\(k_d\)比重的入射光会发生吸收,最终的解决要么是完全吸收,要么是漫反射,那么我们如何描述这个过程呢?
  • 首先,我们使用材质表面的颜色属性来描述完全吸收与漫反射的比重,这个思路是很直观的,材质对不同波长的光有着不同的反照率,因而会呈现出不同的满反射颜色,当我们使用RGB编码颜色时,一个RGB三通道的三个反照率自然就是漫反射成分在吸收部分中的能量比重了。很熟悉的,我们把这一个属性叫做,颜色color或者反射率Albedo
  • 进一步的,我们假设漫反射光照对所有半球面方向的出射功率是各向一致性的,所以我们在BRDF中不强调光线的方向,相应的,所有出射方向的radiance是均分这一部分的漫反射功率的。考虑到半球面的面积是\(\pi\),这也就是平均的系数了。
  • 那么,结合这两个部分,被吸收的光功率即会发生漫反射的光功率,它的BRDF是:

\[f_{lambert}=\frac{Color}{\pi} \]

or

\[f_{lambert}=\frac{Albedo}{\pi} \]

2.2 Cook-Torrance镜面反射

  • 前面提到,会有\(k_s\)部分的光功率有发生镜面反射的可能。这一部分的光照,我们将会使用微表面模型来描述。
  • 我们在做渲染的时候,一般是使用三角形面作为基本图元,使用更细致的图元划分或者是贴图来实现凹凸效果。这些方法都不错,但是只是在模拟肉眼可观的凹凸现象时可行。实际上,我们在生活中观察到表面,即便是平滑到不必使用这些方法来实现凹凸效果(我们在之前将他们看作Glossy材质),也是存在着肉眼不可见的不光滑的,从物理的角度来看,所谓的镜面反射的Glossy现象就是由这引起的。考虑到这些微观的不光滑,然后来描述镜面反射的模型,便是微表面模型。
  • 针对平面的不光滑,微表面模型致力于描述2种由此引起的效果:
    • 表面不光滑即法线分布不均匀,那么就会存在Glossy现象,即反射光线不是理想镜面反射的集束光,而是光瓣。用于描述这一现象的是法线分布NDF
    • 表面不光滑就会存在自遮挡,同于描述这一现象的是几何项G
    • 在上面两个不光滑效果之外,微表面模型显式地给出了\(k_s\)比重,这一项是菲涅尔项F
    • 考虑到能量守恒,添加了标准化项。可以看到,这一项是与入射和出射方向相关的,因为对每一个出射方向的求解需要对所有入射方向做积分,而考虑到能量守恒有需要对所有出射方向做积分,所以这个项很直观。
    • 最后,为什么他们是乘在一起的呢?首先,一部分光照可能会发生镜面反射(菲涅尔项),然后这一部分功率有一部分会被遮挡而只有一部分会成功反射(几何项),进一步的,发生反射的功率是存在方向上的分布的,只有一部分会朝着观察方向反射(法线分布),最后这一部分就是被观察到的功率
    • 可以看到最终反射出来的能量是小于输入能量的,而在BRDF中能体现出来,只有漫反射中被吸收的部分和镜面反射中被遮挡的部分是不会被计算出来的,既没有莫名其妙的能量计算进来,也没有莫名其妙的能量被忽视。这便是PBR的魅力。

\[f_{cook-torrance}=\frac{DFG}{4(\omega_o \cdot n)(\omega_i \cdot n)} \]

2.2.1 法线分布函数 GGXTR NDF

  • 还记得我们之前是如何实现Glossy效果的吗?我们直接使用半程向量与法线的内积作为评判指标。在法线分布函数中,我们仍然使用内积,但是会使用更复杂的方法来描述,我们会将内积作为计算单元,放入类似高斯分布这种衰减函数中。
  • 此外,我们需要一个因子来描述Glossy效果的强度,很显然的这个因子就是粗糙度\(\alpha\)。这个粗糙度会影响衰减的快慢,在高斯函数中就是影响方差。
  • 最后,我们的NDF是参考了余弦值和粗糙度的衰减函数。下面便是其中一种NDF,即Trowbridge-Reitz GGX NDF。

\[NDF(n,h,\alpha)=\frac{\alpha^2}{\pi((n\cdot h)^2(\alpha^2-1)+1)^2} \]


text

标签:irradiance,radiance,06,PBR,镜面反射,方向,功率,omega
From: https://www.cnblogs.com/etherovo/p/17433132.html

相关文章

  • ASEMI代理韩景元可控硅C106M参数,C106M封装,C106M尺寸
    编辑-Z韩景元可控硅C106M参数:型号:C106M断态重复峰值电压VDRM:600V通态电流IT(RMS):4A通态浪涌电流ITSM:30A平均栅极功耗PG(AV):0.2W峰值门功率耗散PGM:1W工作接点温度Tj:-40~125℃储存温度TSTG:-40~150℃断态重复峰值电流IDRM:≤5uA重复峰值反向电流IRRM:≤5uA栅极非触发电压VGD:≥0.2V C106......
  • POJ 3069 Saruman's Army(贪心)
    传送门这个题是说给你n个点,然后让你标记其中尽可能少的点,使得n个点都处于被标记点左右不超过R的区间内我们使用的是贪心算法,也就是我们要将被标记的点尽可能的朝右边去即可,首先我们将他们从左到右进行排序,第一个我们所选取的被标记的点应该是能够包含掉左边的点的最靠右的点。。。......
  • 2006优秀Flex 网站欣赏
    在网上看到了这样的介绍,Flex优秀网站欣赏,想和大家分享一下....以下是网址:    AFRAccessTheAustralianFinancialReviewSonyEricssonPhoneSelectorAdobeFlexStoreKodakEasyShareGalleryNOMOSOnlineFlexDataServicesPikeoMo......
  • Flask006_ HTTP 请求方法
    请求某个URL时,要获取数据,用GET方法。要删除服务器数据,用DELETE方法。要往服务器添加数据,就用POST方法。@app.route('/blog/add/post/get',methods=['POST','GET'])defblog_add_post_get():ifrequest.method=='GET':return'使用GET方......
  • 每日打卡1066
    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 ......
  • 【题解】CF1062E Company
    传送门先考虑如何求解区间LCA假设要我们求\(8\sim11\)的LCA。那么显然它们的LCA等效于8和11的LCA。发现8和11刚好是“最左”和“最右”的两个顶点,感性理解一下,就可以得出一个结论:区间LCA和dfs序最小的和最大的的LCA是等效的。(这个结论应该还......
  • 1066 Root of AVL Tree
    题目:AnAVLtreeisaself-balancingbinarysearchtree.InanAVLtree,theheightsofthetwochildsubtreesofanynodedifferbyatmostone;ifatanytimetheydifferbymorethanone,rebalancingisdonetorestorethisproperty.Figures1-4illustr......
  • 06人月神话阅读笔记
    第11章未雨绸缪不变只是愿望,变化才是永恒。——SWIFT。普遍的做法是,选择一种方法,试试看;如果失败了,没关系,再试试别的。不管怎么样,重要的是先去尝试。——富兰克林D.罗斯福。11.1化学工程师很早就认识到,在实验室可以进行的反应过程,并不能在工厂中一步实现。一个被称为“实验性......
  • EPRO工业探头MMS6823R 9100-00001-06
    W;① ⑧ 0 ③ 0① ⑦  7 7⑤9EPRO工业探头MMS6823R9100-00001-06,PR6423/010-000-CN+CON021 精密的触摸屏远程面板(RP-3000XT)作为操作员控制面板补充了所有easYgen-3000XT系列产品。easYgen-3200XT-P1-LT专为户外应用设计,可在低至-40°C的温度下运......
  • 学习笔记-第06天-命令合集5
    1.grep过滤内容,筛选内容(三剑客之一,排行老三)按行输出grep [选项] 内容 文件---color-auto过滤的内容显示颜色1) 过滤出含有root字符串的行:[root@localhost~]#greprootoldboy.txtroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin[root......