Ray Tracking 辐射度量学、渲染方程、全局光照

Basic radiometry (辐射度量学)

Radiant flux

Radiant energy Definition: Radiant energy is the energy of lectromagnetic radiation. It is measured in units of joules, and denoted by the symbol:

\[Q [J = Joule] \]

Radiant flux (power) Definition: Radiant flux (power) is the energy emitted,reflected, transmitted or received, per unit time.

\[\Phi\equiv\frac{\mathrm{d}Q}{\mathrm{d}t}\text{ [W = Watt] [lm = lumen]}^{\star} \]

flux是功率,可以看成是单位时间辐射出来的光子数量

intensity

Radiant Intensity 是单位立体角上点光源的功率
立体角是在球上一个角对应面积与球半径平方的比值。

当立体角发生微小变化时,dA是对应的面积,可以发现这个角度和\(\theta\)角相关,也就是说一个微小立体角对应的面积其实和角与赤道和向上轴之间的夹角有关。

w是面积与半径平方的比值,当是单位长度时,这定义了一个方向(因为和\(sin\theta\)相关)

如果对球面上各个方向的光线做积分。可以得到这个点光源的功率。同时,点光源发出的Itensity是各向同性的,所以I可以由\(I=\frac\Phi{4\pi}\)得到。

也就是说立体角定义了空间中一个角。然后Intensity定义了单位立体角上点光源的功率。

irradiance

Definition: The irradiance is the power per unit area incident on a surface point.
平面上一点接收到的单位面积的功率。

radiance

【这实际上定义了一个光线,对于接受到它的物体而言,可以对立体角积分得到Irradiance然后再对面积积分得到Energy】
radiance是描述环境中光分布的基本场量
radiance是与光线相关的量
渲染的计算围绕radiance

Definition: The radiance (luminance) is the power emitted, reflected, transmitted or received by a surface, per unit solid angle, per projected unit area.

定义在单位立体角上单位面积辐射出来的功率。

然后,有了以上定义就可以解释单位面积入射和射出来的Radiance了。
Incident radiance(入射Radiance)是每单位立体角的irradiance。

Exiting Radiance(出射Radiance)可以认为是每个Intensity(Intensity对于这个单位面积来说就是来源于一个单位立体角的光线)在单位面积上的功率。

Radiance 和 Irradiance 之间的关系

Irradiance 是这个单位面积上收到的total power
Radiance 是这个单位面积上收到的来自一个单位角的power
对Radiance在单位角上积分,就可以得到Irradiance:

\(cos\theta\)的意思是要与平面垂直。

Bidirectional Reflectance Distribution Function(BRDF)

反射就是我这个单位面积上的Irradiance对立体角微分出去,可以得到沿方向上的Radiance。同时Irradiance又是对入射Radiance的积分,所以如果直接定义某个方向的入射Radiance对某个方向的出射Radiance,就是反射的过程。可以通过BRDF定义。

双向反射分布函数 (BRDF) 表示有多少光从每个入射方向反射到每个出射方向。【BRDF定义了每个入射和出射radiance之间的关系】

反射方程

但是这里有一个问题是入射的光其实也来源于别的点的反射。

渲染方程

总而言之,渲染方程可以认为是场景中所有光源发出的辐射和所有光源反射出来的辐射:

渲染方程出来之后,其实问题变为了怎么求解【老师的原PPT和课程简直是优雅,不开心的时候可以去听一听】:

首先,简写一下:

然后,再抽象一下,写成算子:

变换一下,发现\((I-K)^{-1}\),这个东西类似泰勒展开里的\(\frac{1}{1-x}=1+x+x^2+x^3+...+o^n(x)\)然后展开就变成了这样:
它的物理意义可以解释为,这个L表示场景里的全局光照,它包括了直接光照和间接光照(在场景中进行一次弹射的光、2次弹射、。。。n次弹射的光,PPT上的弹射指的是对间接光照的弹射)。
光栅化的过程只囊括了直接能看到光源和Direct illumination on surfaces也就是物体表面反射过来的光。【当然光栅化也能做多次弹射】

一些例子(有一个例子是,看到镜子里的物体其实光线需要弹射两次:光-物体-镜子-眼睛;这里弹射不仅仅只有反射了是指光线打到物体的过程)

仔细观察上面那个灯。

Direct illumination(自己发出的光+弹射一次)是亮的。光-屋檐-(眼睛)【我感觉这里发光的主要原因是没有计算进入玻璃的之后的弹射,有待考究】。
One-bounce global illumination (自己发出的光+弹射两次)(dir+indir)不亮。光-屋檐-玻璃正面1-(玻璃正反面1之间)【无法到达眼睛,甚至还没有进入灯罩内部】
Two-bounce global illumination(自己发出的光+弹射三次)也不亮。光-屋檐-玻璃正面1-玻璃反面1-(灯罩内部)【进入了灯罩内部】。
Four-bounce global illumination(自己发出的光+弹射五次)亮。光-屋檐-玻璃正面1-玻璃反面1-玻璃反面2-玻璃正面2-(眼睛)。

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

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

相关文章

(模型蒸馏)MCC-KD: Multi-CoT Consistent Knowledge Distillation

论文链接:[2310.14747] MCC-KD: Multi-CoT Consistent Knowledge Distillation (arxiv.org) 背景 近年来,大型语言模型(LLMs)如GPT-3、BERT等在自然语言处理(NLP)领域取得了显著的进展。这些模型通过大规…

Windows搭建Lychee图片管理系统结合内网穿透实现公网访问本地图床

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

c++的学习之路:9、STL简介与string(1)

一、STL 1、什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。 也就是说STL就是一个模板,这个模板就是整合了很多库让我们方…

166.乐理基础-五声性调式、宫商角徵羽

如果到这五线谱还没记住还不认识的话去看102.五线谱-高音谱号与103.五线谱-低音谱号这两个里,这里面有五线谱对应的音名,对比着看 如果不认识调号去看112.五线谱的调号(一)、113.五线谱的调号(二)、114.快…

java学习之路-类和对象

前言 本文内容: 类的定义及其使用 this的引用 对象的构造及初始化 封装 static成员 代码块讲解 内部类 文章目录 1.类定义和使用 1.1了解什么是面向对象 1.2简单认识类 1.3定义类 1.4栗子 2.类的使用-类的实例化 2.1什么是实例化 2.2类和对象的说明 3.this引…

力扣热门算法题 174. 地下城游戏,189. 轮转数组,198. 打家劫舍

174. 地下城游戏,189. 轮转数组,198. 打家劫舍,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.31 可通过leetcode所有测试用例。 目录 174. 地下城游戏 解题思路 完整代码 Python Java 189. 轮转数…

Python中输出显示台的设置

效果: 前言 这种文字显示的方式很适合新手来学习,毕竟新手还学不到pygame做游戏的, Python入门我们一般都学的是输入输出的游戏,但是如果加上一些文字和背景的改善可能会更好. 如何改变字体颜色 字体颜色(跟他的变量名是一样的): #改变字体颜色 RED \033[91m GREEN \033…

kettle介绍-Step之加密及解密

加密 进入kettle的安装目录 cd /d D:\Application\pdi-ce-6.0.0.0-353\data-integration windows系统命令行执行:Encr.bat -kettle 123 cd /data/data-integration linux/mac系统命令行执行:encr.sh -kettle 123 可生成Encrypted 2be98afc86aa7f2e4cb79…

zabbix绑定钉钉进行通知,网页端添加JavaScript,无脑式操作

文章目录 前言一、编辑zabbix告警JavaScript脚本二、代码如下:编辑消息模板,自定义markdown格式的消息。总结前言 随着人工智能的不断发展,zabbix监控这门技术也越来越重要,一下进入正题。 一、编辑zabbix告警JavaScript脚本 没有没接可以新增媒介 其中URL是你的机器人地…

2024最新软件测试【测试理论+ 抓包与网络协议】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, …

stm32 HAL中断GPIO——1

1选择引脚为中断 中断详细配置 1 模式选择 上拉下拉 再点击NVIC可进行分组 再勾选如图 总结步骤 1选择中断 2配置时钟//选择外部时钟 3配置模式 4勾选NVIC

Python实现【贪吃蛇大作战】+源码

文章目录 前言:一、游戏概述1.游戏玩法2.游戏特色 二、游戏规则三、工具选择四、主要技术pygame 库numpy 库cocos2d 五、源码分享六、项目地址 前言: 今天的GitHub小游戏分享,我们将聚焦于一个经典而又极富趣味性的游戏——贪吃蛇大作战。这…

【C++】二分查找算法(模板)

重点 只需要记住两点: 1.left right 时,一定就是最终结果(包括找不到目标值),无需再次判断,如果判断就会死循环 2.求中点如果是求左端点 mid left (right - left)/2 如果是求右端点 mid left (right -…

【Python项目】AI动物识别工具

目录 背景 技术简介 系统简介 界面预览 背景 成像技术在全球科技发展中扮演了关键角色。在科学研究领域,拍摄所得的图像成为了一种不可或缺的研究工具。特别是在生态学与动物学研究中,鉴于地球的广阔地域和多样的气候条件,利用图像技术捕…

关于我20系列显示安装cuda11.8版本一直还报找不到nvcc.exe的这档子事

这几天研究3d gaussian(3d高斯) 由于本人电脑还是五年前的20系列显卡,本身还是支持cuda的,就没想那么多,结果处处踩坑处处踩雷,在研究2天国内资料翻遍了的情况下,终于去外面看老外发了一个chec…

arm的状态寄存器

目录 一、arm 的 PSRs二、CPSR2.1 CPSR_cxsf 三、SPSR四、APSR 一、arm 的 PSRs arm 中有很多程序状态寄存器(Program Status Registers,PSRs)用于存储处理器的状态信息,包括 CPSR\SPSR\FPSR\APSR 等: CPSR&#xff…

九州金榜家庭教育孩子沉迷手机网络怎么办?

孩子沉迷于手机网络的问题,在当今社会已变得日益严重。手机网络的普及使得孩子们过早地接触到了虚拟世界,而长时间沉浸其中不仅影响他们的学业,还可能对他们的身心健康造成危害。那么,面对这一问题,家长应该如何应对呢…

数字人视频合成平台推荐

数字人讲解视频和全景作品的结合是一种全新的数字交互方式,可为用户提供更加直观和具有沉浸感的内容展示和交互体验,从而适用于诸如旅游、展览、博物馆、教育培训、泛房地产、以及娱乐和文化等应用场景。 当前数字人合成视频技术已经发展至日益成熟的阶…

Oracle基础-PL/SQL编程 备份

1、PL/SQL简介 PL/SQL块结构 约定:为了方便,本文后面把PL/SQL简称PL。 PL程序都是以块(BLOCK)为基本单位,整个PL块分三部分:声明部分(使用DECLARE开头)、执行部分(以BEGIN开头)和异…

武汉星起航:跨境电商优势尽显,引领全球贸易与文化交流新浪潮

在全球化日益加深的今天,跨境电商行业以其独特的优势和好处,逐渐超越了国内电商行业,成为了电商领域的新宠。跨境电商不仅拓展了企业的市场范围,还为消费者带来了更多选择和便利。武汉星起航认为与国内电商相比,跨境电…