图形学笔记 - 5-光线追踪 - 辐射度量学

文章目录

    • 辐射度量学
      • 辐射能和通量(功率)Radiant Energy and Flux (Power)
      • 辐射强度 Radiant Intensity
      • 辐照度Irradiance
        • 朗伯余弦定律Lambert’s Cosine Law
      • Radiance辐亮度
        • Incident Radiance入射辐亮度
        • Exiting Radiance出射辐亮度
      • 双向反射分布函数 Bidirectional Reflectance Distribution Function (BRDF)
      • 反射方程
      • 渲染方程

Basic radiometry

辐射度量学

之前实现过Blinn-Phong model

你认为Whitted-style的光线追踪会给你正确的结果吗?

路径追踪的基础

照明测量系统和单位
精确测量光的空间特性
新术语:辐射通量,强度,辐照度,辐射度
Radiant flux, intensity, irradiance, radiance

以物理正确的方式进行照明计算

辐射能和通量(功率)Radiant Energy and Flux (Power)

定义:辐射能(Radiant energy)是电磁辐射的能量。它的单位是焦耳,用符号表示
Q [ J = J o u l e ] Q[J=Joule] Q[J=Joule]
定义:辐射通量(功率)Radiant flux (power)是单位时间内发射、反射、发射或接收的能量
Φ = d Q d t [ W = W a t t ] [ l m = l u m e n ] ∗ \Phi=\frac{dQ}{dt}[W=Watt][lm=lumen]^* Φ=dtdQ[W=Watt][lm=lumen]
通量-#在单位时间内流过传感器的光子数
在这里插入图片描述

重要的光测量

辐射强度 Radiant Intensity

定义:辐射(发光)强度是点光源单位solid angle立体角(?)发出的功率。
I ( ω ) = d Φ d ω I(\omega)=\frac{d\Phi}{d\omega} I(ω)=dωdΦ
[ W s r ] [ l m s r = c d = c a n d e l a ] [\frac{W}{sr}][\frac{lm}{sr}=cd=candela] [srW][srlm=cd=candela]
坎德拉是国际单位制的七个基本单位之一。

角和立体角
角:圆上的弧长与半径之比

  • θ = l r \theta=\frac{l}{r} θ=rl
  • 圆有 2 π 2\pi 2π弧度
    在这里插入图片描述

立体角:球面上的面积与半径的平方之比

  • Ω = A r 2 \Omega = \frac{A}{r^2} Ω=r2A
  • 球面 4 π 4\pi 4π球面度

微分立体角
d A = ( r d θ ) ( r sin ⁡ θ d ϕ ) = r 2 sin ⁡ θ d θ d ϕ dA=(rd\theta)(r\sin\theta d\phi)=r^2\sin\theta d\theta d\phi dA=(rdθ)(rsinθdϕ)=r2sinθdθdϕ
d ω = d A r 2 = sin ⁡ θ d θ d ϕ d\omega=\frac{dA}{r^2}=\sin\theta d\theta d\phi dω=r2dA=sinθdθdϕ
在这里插入图片描述

球面: S 2 S^2 S2
Ω = ∫ S 2 d ω = ∫ 0 2 π ∫ 0 π sin ⁡ θ d θ d ϕ = 4 π \Omega=\int_{S^2}d\omega=\int_0^{2\pi}\int_0^{\pi}\sin\theta d\theta d\phi=4\pi Ω=S2dω=02π0πsinθdθdϕ=4π
ω \omega ω是一个方向向量
将使用 ω \omega ω表示方向矢量(单位长度

各向同性点源
在这里插入图片描述

Φ = ∫ S 2 I d ω = 4 π I \Phi=\int_{S^2}Id\omega=4\pi I Φ=S2Idω=4πI
I = Φ 4 π I=\frac{\Phi}{4\pi} I=4πΦ

现代LED灯

辐照度Irradiance

定义:辐照度是入射到表面点上的单位面积的功率。
在这里插入图片描述

E ( x ) = d Φ ( x ) d A E(x)=\frac{d\Phi(x)}{dA} E(x)=dAdΦ(x)
[ W m 2 ] = [ l m m 2 = l u x ] [\frac{W}{m^2}]=[\frac{lm}{m^2}=lux] [m2W]=[m2lm=lux]

朗伯余弦定律Lambert’s Cosine Law

表面的辐照度正比于光方向与表面法线夹角的余弦。
E = Φ A cos ⁡ θ E=\frac{\Phi}{A}\cos\theta E=AΦcosθ
其中 cos ⁡ θ = l ⋅ n \cos\theta =l\cdot n cosθ=ln

在这里插入图片描述

Radiance辐亮度

辐射度是描述光在环境中分布的基本场量

  • 亮度是与射线有关的量
  • 渲染就是计算亮度

定义:辐射度(亮度)是一个表面在单位立体角、单位投影面积上发射、反射、传输或接收的功率。

在这里插入图片描述

L ( p , ω ) = d 2 Φ ( p , w ) d ω d A cos ⁡ θ L(p,\omega)=\frac{d^2\Phi(p,w)}{d\omega dA\cos\theta} L(p,ω)=dωdAcosθd2Φ(p,w)

[ W s r   m 2 ] [ c d m 2 = l m s r   m 2 = n i t ] [\frac{W}{sr\ m^2}][\frac{cd}{m^2}=\frac{lm}{sr\ m^2}=nit] [sr m2W][m2cd=sr m2lm=nit]

单位投影面积上单位立体角的功率。

Incident Radiance入射辐亮度

入射辐射度是到达表面的单位立体角的辐射度
L ( p , ω ) = d E ( p ) d ω cos ⁡ θ L(p,\omega)=\frac{dE(p)}{d\omega\cos\theta} L(p,ω)=dωcosθdE(p)
它是沿着给定光线到达表面的光。点在表面和入射方向

Exiting Radiance出射辐亮度

出射辐射度是离开表面的单位投影面积的强度。
L ( p , ω ) = d I ( p , ω ) d A cos ⁡ θ L(p,\omega)=\frac{dI(p,\omega)}{dA\cos\theta} L(p,ω)=dAcosθdI(p,ω)
对于面积光,它是沿着给定光线发出的光(指向表面和出口方向)。

辐照度:面积dA所接收的总功率

辐亮度:面积dA从“方向”dw接收的功率
d E ( p , ω ) = L i ( p , ω ) cos ⁡ θ d ω dE(p,\omega)=L_i(p,\omega)\cos\theta d\omega dE(p,ω)=Li(p,ω)cosθdω

E ( p ) = ∫ H 2 L i ( p , ω ) cos ⁡ θ d ω E(p)=\int_{H^2}L_i(p,\omega)\cos\theta d\omega E(p)=H2Li(p,ω)cosθdω

单位半球: H 2 H^2 H2

在这里插入图片描述

双向反射分布函数 Bidirectional Reflectance Distribution Function (BRDF)

一点的反射

ω i \omega_i ωi方向发出的辐射转化为dA接收的功率E

功率E就变成了任意方向上的辐照度 ω 0 \omega_0 ω0

在这里插入图片描述

微分辐照度入射: d E ( ω i ) = L ( ω i ) cos ⁡ θ i d ω i dE(\omega_i)=L(\omega_i)\cos\theta_i d\omega_i dE(ωi)=L(ωi)cosθidωi

微分辐亮度射出: d L r ( ω r ) dL_r(\omega_r) dLr(ωr)

双向反射分布函数(BRDF)表示从每个入射方向反射到每个出射方向 ω r \omega_r ωr的光量

在这里插入图片描述

f r ( ω i → ω r ) = d L r ( ω r ) d E i ( ω i ) = d L r ( ω r ) L i ( ω i ) cos ⁡ θ i d ω i [ 1 s r ] f_r(\omega_i\rightarrow \omega_r)=\frac{dL_r(\omega_r)}{dE_i(\omega_i)}=\frac{dL_r(\omega_r)}{L_i(\omega_i)\cos\theta_id\omega_i}[\frac{1}{sr}] fr(ωiωr)=dEi(ωi)dLr(ωr)=Li(ωi)cosθidωidLr(ωr)[sr1]

反射方程

L r ( p , ω r ) = ∫ H 2 f r ( p , ω i → ω r ) L i ( p , ω i ) cos ⁡ θ i d ω i L_r(p,\omega_r)=\int_{H^2}f_r(p,\omega_i\rightarrow \omega_r)L_i(p,\omega_i)\cos\theta_id\omega_i Lr(p,ωr)=H2fr(p,ωiωr)Li(p,ωi)cosθidωi

在这里插入图片描述

挑战:递归方程

反射辐照取决于入射辐照

但是入射的辐照取决于反射的辐照(在场景的另一点)

任何一个出射的点都可能作为其他点的入射

渲染方程

通过添加一个发射项来使反射方程具有普遍性
L r ( p , ω r ) = L e ( p , ω o ) + ∫ Ω + f r ( p , ω i , ω o ) L i ( p , ω i ) ( n ⋅ ω i ) d ω i L_r(p,\omega_r)=L_e(p,\omega_o)+\int_{\Omega^+}f_r(p,\omega_i,\omega_o)L_i(p,\omega_i)(n\cdot \omega_i)d\omega_i Lr(p,ωr)=Le(p,ωo)+Ω+fr(p,ωi,ωo)Li(p,ωi)(nωi)dωi
自身发射的光。注意:现在,我们假设所有方向是向外的!

一个点光源

在这里插入图片描述

一堆点光源

在这里插入图片描述

面光源

在这里插入图片描述

光源可能是反射来的

在这里插入图片描述

Kajiya 86

是第二类Fredholm积分方程[广泛的数值研究]以标准形式
I ( u ) = e ( u ) + ∫ I ( v ) K ( u , v ) d v I(u)=e(u)+\int I(v)K(u,v)dv I(u)=e(u)+I(v)K(u,v)dv
线性算子方程

K ( u , v ) K(u,v) K(u,v)方程的核,光转移算子
L = E + K L L=E+KL L=E+KL
可以离散成一个简单的矩阵方程[或联立线性方程组](L, E为矢量,K为光转移矩阵

光线追踪和拓展

  • 通用类数值蒙特卡罗方法

  • 场景中所有光线路径的近似集合

L = E + K L L=E+KL L=E+KL

( I − K ) L = E (I-K)L=E (IK)L=E

L = ( I − K ) − 1 E L=(I-K)^{-1}E L=(IK)1E

L = ( I + K + K 2 + . . . ) E L=(I+K+K^2+...)E L=(I+K+K2+...)E

L = E + E K + E K 2 + E K 3 + , , , L=E+EK+EK^2+EK^3+,,, L=E+EK+EK2+EK3+,,,

E E E: 直接从光源发出的光

K E KE KE: 表面直接照明

以上两个:光栅化中的着色

K 2 E K^2E K2E: 间接照明(一次间接反弹)(镜子,折射)

K 3 E K^3E K3E:两次反弹

加起来:全局光照

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963738.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

低代码产品表单渲染架构

在React和Vue没有流行起来的时候,低代码产品的表单渲染设计通常会使用操作Dom的方式实现。 下面是一个表单的例子: 产品层 用户通过打开表单,使用不同业务场景业务下的表单页面,中间的Render层就是技术实现。 每一个不同业务的表单…

游戏引擎 Unity - Unity 设置为简体中文、Unity 创建项目

Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

Sentinel 断路器在Spring Cloud使用

文章目录 Sentinel 介绍同类对比微服务雪崩问题问题原因问题解决方案请求限流线程隔离失败处理服务熔断解决雪崩问题的常见方案有哪些? Sentineldocker 安装账号/ 密码项目导入簇点链路请求限流线程隔离Fallback服务掉线时的处理流程 服务熔断 Sentinel 介绍 随着微…

我们信仰AI?从神明到人工智能——信任的进化

信任的进化: 信任是我们最宝贵的资产。而现在,它正像黑色星期五促销的廉价平板电视一样,被一点点拆解。在过去,世界很简单:人们相信晚间新闻、那些满是灰尘书籍的教授,或者手持病历、眉头紧锁的医生。而如…

51单片机 05 矩阵键盘

嘻嘻,LCD在RC板子上可以勉强装上,会有一点歪。 一、矩阵键盘 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式;采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态。&#xf…

OpenCV4,快速入门,Windows 系统 OpenCV4.10.0 开发环境搭建

文章目录 1. 摘要2. OpenCV 4.10.02. 环境配置2.1 配置包含目录2.2 配置库目录2.3 配置链接器2.4 配置环境变量并重启VS 3. 编写测试代码 1. 摘要 本文详细介绍在Windows系统下配置OpenCV 4.10开发环境的步骤,适用于Visual Studio 2022等C开发场景。内容涵盖&#…

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…

FreeRTOS从入门到精通 第十三章(信号量)

参考教程:【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、信号量知识回顾 1、概述 (1)信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问,FreeRTOS中使用的是二值信号量、计数型信号…

业务系统文件上传和互传如何做到高效又安全?

在当今数字化的商业环境中,企业越来越依赖于高效的业务系统来处理日常运营。无论是金融、医疗、能源还是政府机构,内部各类业务系统如OA、供应商管理系统等都需要终端用户上传各种类型的文件附件。然而,在确保这些文件能够快速而准确地上传和…

四、GPIO中断实现按键功能

4.1 GPIO简介 输入输出(I/O)是一个非常重要的概念。I/O泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO(General-Purpose Input/Output)则是一个常见的术语&#xff0c…

数据结构:时间复杂度

文章目录 为什么需要时间复杂度分析?一、大O表示法:复杂度的语言1.1 什么是大O?1.2 常见复杂度速查表 二、实战分析:解剖C语言代码2.1 循环结构的三重境界单层循环:线性时间双重循环:平方时间动态边界循环&…

C++ Primer 自定义数据结构

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

035 搜索之DFS基础

DFS:深度优先搜索——本质上是暴力枚举,尽可能一条路走到底,走不了回退 1.DFS与n重循环 例:给定一个数字x,将其拆分为3个正整数,后一个要求大于前一个,给出方案。 分析:这种情况下…

【系统迁移】将系统迁移到新硬盘中(G15 5520)

文章目录 前言问题描述解决步骤(红色为 debug 步骤)参考文献 前言 参数: 电脑 dell g15 5520硬盘:1T 自带硬盘 海力士 2230 -> 2T 西数蓝盘 2280 问题描述 电脑硬盘过小(且只有一个接口),将…

大模型综合性能考题汇总

- K1.5长思考版本 一、创意写作能力 题目1:老爸笑话 要求:写五个原创的老爸笑话。 考察点:考察模型的幽默感和创意能力,以及对“原创”要求的理解和执行能力。 题目2:创意故事 要求:写一篇关于亚伯拉罕…

openeuler 22.03 lts sp4 使用 cri-o 和 静态 pod 的方式部署 k8s-v1.32.0 高可用集群

前情提要 整篇文章会非常的长…可以选择性阅读,另外,这篇文章是自己学习使用的,用于生产,还请三思和斟酌 静态 pod 的部署方式和二进制部署的方式是差不多的,区别在于 master 组件的管理方式是 kubectl 还是 systemctl有 kubeadm 工具,为什么还要用静态 pod 的方式部署?…

Pluto固件编译笔记

前段时间我已经做到在电脑上交叉编译一个简单的c/c程序,然后复制到pluto上运行。 要做到这一点,其实参考adi pluto官网的wiki就能做到了。 但这样有几个问题,只能做到简易程序,如果程序复杂,要调用更多库而SYSROOT里…

【产品经理学习案例——AI翻译棒出海业务】

前言: 本文主要讲述了硬件产品在出海过程中,翻译质量、翻译速度和本地化落地策略是硬件产品规划需要考虑的核心因素。针对不同国家,需要优化翻译质量和算法,关注市场需求和文化差异,以便更好地满足当地用户的需求。同…

星际智慧农业系统(SAS),智慧农业的未来篇章

新月人物传记:人物传记之新月篇-CSDN博客 相关文章:星际战争模拟系统:新月的编程之道-CSDN博客 新月智能护甲系统CMIA--未来战场的守护者-CSDN博客 “新月智能武器系统”CIWS,开启智能武器的新纪元-CSDN博客 目录 星际智慧农业…

【蓝桥杯嵌入式入门与进阶】4.初读启动文件:粗略阅读,经常翻阅,知己知彼,百战百胜

目录 1.二者差异 1. 1适用芯片型号不同 1.2中断向量表差异 1.2.1 中断数量和种类 1.2.2 部分中断处理函数命名差异 1.2.3. 复位处理描述差异 1.2.4代码注释中的功能描述差异 1.2.5 DMA 通道中断处理函数差异 示例代码对比片段 startup_stm32g431xx.s startup_stm32…