BRDF详解(包括:irradiance,radiance,intensity,立体角)

这篇具有很好参考价值的文章主要介绍了BRDF详解(包括:irradiance,radiance,intensity,立体角)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 BRDF

        BRDF是双向反射分布函数(Bidirectional Reflectance Distribution Function,BRDF)用来定义给定入射方向上的辐射照度(irradiance),如何影响给定出射方向上的辐射率(radiance)。更笼统地说,它描述了入射光线经过某个表面反射后如何在各个出射方向上分布。也可理解为:光线从某个方向入射到表面后,能量被该表面吸收,然后再朝着各个方向发射出去。

BRDF详解(包括:irradiance,radiance,intensity,立体角)

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 BRDF详解(包括:irradiance,radiance,intensity,立体角)

 即 :radiance/irradiance


 漫反射BRDF

 在光栅化的时候我们就已经了解到漫反射:光线在击中场景中的某点后会朝着四面八方均匀地散射出去。

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 因此,漫反射的BRDF一定是一个常数。假设入射光是均匀且遍布整个半球方向,可以得到如下方程:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 (根据定义dw=sinθdθdϕ, 积分过程省略) 由于假设入射光是均匀且遍布整个半球方向,所以Li与方向无关,且等于Lo,最终约去两边L,得到结果:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

但有一点要注意的是,这里并没有考虑能量被吸收,将反射率考虑进来之后,得到最终的漫反射BRDF:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 这里的ρ可以类比光栅化当中的漫反射系数去理解,本质就是一个3维向量,含有物体表面的颜色信息。


 镜面反射BRDF(微表面模型)

 漫反射项的形式简单且比较容易理解,但是对于镜面反射项,其形式则要更加高级一点:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 其中v为反射方向(观察方向),l为入射方向,n为宏观表面法向,h为微平面法向

分子上的D,F,G为3个不同的函数:

函数D:法线分布函数(Normal Distribution Function),其代表了所有微观角度下微小镜面法线的分布情况,粗糙表面法线分布相对均匀,光滑表面法线分布相对集中 (这种解释可能会有些抽象,后面会给出更加直观的物理上的解释)

函数G:几何函数(Geometry Function),描述了微平面自遮挡的属性。当一个平面相对比较粗糙的时候,平面表面上的微平面有可能挡住其他的微平面从而减少表面所反射的光线。

函数F:菲涅尔方程(Fresnel Rquation),描述了物体表面在不同入射光角度下反射光线所占的比率

 可以看出无论是几何函数G,还是菲涅尔方程F,都是由于观察方向,入射方向的不同所导致的只有部分光线能够被反射

BRDF详解(包括:irradiance,radiance,intensity,立体角)

分布概率密度D

BRDF详解(包括:irradiance,radiance,intensity,立体角)

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 菲涅尔项F

反射irradiance/入射radiance(反射程度)

菲涅尔方程是为了描述物理世界当中,观察角度与法线夹角越大反射程度一般越大的一种情形,但是精确计算计算消耗较大,一般用Fresnel-Schlick近似法求得近似解

BRDF详解(包括:irradiance,radiance,intensity,立体角)

F0 表示平面的基础反射率,它是利用所谓折射系数(Indices of Refraction)计算得出的。越是朝球面掠角的方向上看(此时视线和表面法线的夹角接近90度)菲涅尔现象就越明显,反光就越强。但是根据折射系数只能算出电介质(非导体)的F0为了兼容导体,一般会将F0提前计算出来,再代入方程:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 几何函数G

几何函数G是为了表示微平面的自遮挡从而引起的光线损失,一般会出现如下两种的遮挡情况

BRDF详解(包括:irradiance,radiance,intensity,立体角)

左边一幅图中是入射光线无法照射到一些微平面,这种情况称为Shadowing,右边图中是反射光线无法正常到达人眼,称为Masking,而几何函数G正是为了模拟出这两种情况所导致的光线所示,在UE4中采用了Schlick-GGX来进行建模:

BRDF详解(包括:irradiance,radiance,intensity,立体角)


 微分立体角

        以观测点为球心,构造一个单位球面;任意物体投影到该单位球面上的投影面积,即为该物体相对于该观测点的立体角。因此,立体角是单位球面上的一块面积,这和“平面角是单位圆上的一段弧长”类似。

BRDF详解(包括:irradiance,radiance,intensity,立体角)


 辐射度量学相关概念

BRDF详解(包括:irradiance,radiance,intensity,立体角)

 强烈推荐的一个可视化网站


Irradiance

         辐射照度(irradiance):单位面积接收到的辐射通量,称为该处的辐照度。符号为E,单位为W/m2。如果是单位光谱波长上的,单位为W/m2.μm。海洋光学中常用单位为W/cm2.nm或mW/cm2.μm。

BRDF详解(包括:irradiance,radiance,intensity,立体角)

注意: (这里的单位面积指的是和入射光线相垂直的面,若该面与入射光线不垂直则需要进行一个垂直的映射) eg:

BRDF详解(包括:irradiance,radiance,intensity,立体角)

        因此我们可以更深刻地解读出,某个单位面积接收到的能量与该位置距离点光源的距离的平方成反比,即irradiance随着距离增加而衰减。(这里认为点光源往空间中的各个方向均匀地辐射出能量)

BRDF详解(包括:irradiance,radiance,intensity,立体角)


Radiance

         辐亮度(radiance):单位投影面积、单位立体角上的辐射通量。辐亮度的符号为L,单位为W/m2.sr,如果是单位光谱波长上的,单位为W/m2.um.sr。海洋光学中常用单位为W/cm2.nm.sr或mW/cm2.um.sr。

BRDF详解(包括:irradiance,radiance,intensity,立体角)


Irradiance:单位面积接收到的辐射能量

Intensity: 单位立体角接收到的辐射能量

Radiance:单位投影面积,单位立体角接收到文档辐射能量

所以:radiance可以看成 单位立体角的Irradiance、单位面积的Intensity:

BRDF详解(包括:irradiance,radiance,intensity,立体角)BRDF详解(包括:irradiance,radiance,intensity,立体角)


Irradiance vs radiance

        Irradiance为某个单位面积上接收(发出)到的来自所有方向的辐射能量,radiance为该面积接收(发出)的朝某个单位立体角的辐射能量,因此Irradiance可看做对所有单位立体角的radiance的积分。

BRDF详解(包括:irradiance,radiance,intensity,立体角)


参考视频文章来源地址https://www.toymoban.com/news/detail-413541.html

到了这里,关于BRDF详解(包括:irradiance,radiance,intensity,立体角)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中Shader的BRDF解析(一)

    在上篇文章中,我们解析了Standard的GI实现,这篇文章我们来解析一下Standard的PBS计算。 Unity中Shader的Standard材质解析(二) 上篇文章中,主要解析了这个公式 GI漫反射 和 GI镜面反射 LightingStandard1(o, worldViewDir, gi); 在该函数中,主要进行了如下计算: s.Albedo = DiffuseAndSpecularF

    2024年02月04日
    浏览(40)
  • Unity中Shader的BRDF解析(三)

    在上篇文章中,我们解析了BRDF的漫反射项,这篇文章我们继续解析BRDF中的镜面反射 Unity中Shader的BRDF解析(二) 我们返回 specular ,看一下高光效果: return fixed4(specular,1); //镜面反射中的DV项的计算 //最后乘以PI的原因是因为计算 漫反射 时,等式右边没有除以PI。 //导致算出的

    2024年02月01日
    浏览(38)
  • Unity中Shader的BRDF解析(二)

    我们在这篇文章中,继续来继续解析BRDF中的高配置情况( UNITY_PBS_USE_BRDF1)下,迪士尼的漫反射计算 Unity中Shader的BRDF解析(一) 在上篇文章中,我们解析到了BRDF的具体计算 我们在该函数的最后能找到与迪士尼BRDF原则对应的程序: // Specular term // HACK: theoretically we should divi

    2024年02月04日
    浏览(41)
  • An Efficient Memory-Augmented Transformer for Knowledge-Intensive NLP Tasks

    本文是LLM系列文章,针对《An Efficient Memory-Augmented Transformer for Knowledge 获取外部知识对于许多自然语言处理任务至关重要,例如问答和对话。现有的方法通常依赖于将知识存储在其参数中的参数模型,或者使用可以访问外部知识源的检索增强模型。参数模型和检索增强模型在

    2024年02月09日
    浏览(43)
  • RAG:Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 论文阅读

    2020 NeuralPS 文章地址:https://arxiv.org/abs/2005.11401 源码地址:GitHub - huggingface/transformers: 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.       - 142 RAG 目录 0、背景 1、摘要 2、导言       3、结论 4、模型 5、实验 6、与REALM比较 7、想法         Language Mod

    2024年02月05日
    浏览(41)
  • 前后端交互系列之Axios详解(包括拦截器)

    Axios是前端最流行的交互工具。所以本节内容将对Axios进行详细讲解。 本节内容需要由Ajax的基础及Promise的基础。这两篇文章可以参考: 前端后端交互系列之原生Ajax的使用 前后端交互系列之promise详解 如果想快速了解axios也可以查看(本篇文章的深度是更高的): 浅析axios原

    2024年02月06日
    浏览(33)
  • 详解Pytorch中的torch.nn.MSELoss函,包括对每个参数的分析!

    一、函数介绍 Pytorch中MSELoss函数的接口声明如下,具体网址可以点这里。 torch.nn.MSELoss(size_average=None, reduce=None, reduction=‘mean’) 该函数 默认用于计算两个输入对应元素差值平方和的均值 。具体地,在深度学习中,可以使用该函数用来计算两个特征图的相似性。 二、使用方式

    2023年04月19日
    浏览(46)
  • Redis详解,包括安装命令,应用场景,优缺点,案列分析,各个开发语言如何应用

    Redis 是一个基于内存的开源数据库系统,被广泛应用于 Web 应用、消息队列、缓存、实时统计等领域。下面是 Redis 的详解,包括安装命令、应用场景和优缺点,以及案列分析和各个开发语言如何应用。此外,还提供了一些具体代码示例。 Redis 的安装命令因操作系统而异。以下

    2024年02月15日
    浏览(42)
  • 【JavaSE】Java进阶知识一(泛型详解,包括泛型方法,协变,逆变,擦除机制)

    目录 泛型 1. 什么是泛型 2.泛型方法 3.通配符上界(泛型的协变) 4.通配符下界(泛型的逆变) 5.泛型的编译(擦除机制)         泛型:就是让一个类能适用于多个类型,就是在封装数据结构时能让封装的类型被各种类型使用所以引入了泛型的概念,虽然有了泛型,什么数

    2024年02月04日
    浏览(47)
  • 【51单片机】:定时器的详解(包括对单片机定时解释、各类定时方式,以及中断方式)

              51定时/计数器的详解。                   码字不易,如有帮助请收藏,点赞哦。         前提:首先我们知道51单片机内部有21~26个特殊功能寄存器: P.x口寄存器:P0、P1、P2、P3 数据指针寄存器:DP0H、DP0L、DP1H、DP1L 定时器: TH1、TL1、TH0、TL0、TMOD、TCON 串口:

    2024年02月07日
    浏览(98)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包