Games101学习笔记 Lecture 14: Ray Tracing 2 (Acceleration Radiometry)

Lecture 14: Ray Tracing 2 (Acceleration & Radiometry

  • 一、加速光线追踪 AABB
    • 1.均匀网格 Uniform Spatial Partitions (Grids)
      • ①前处理-构建加速网格
      • ②射线与场景相交
      • ③网格分辨率
      • ④适用情况
    • 2.空间划分
      • KD-Tree
        • ①预处理
        • ②数据结构
        • ③遍历
        • ④问题
    • 3.对象划分 & 包围盒层次结构(BVH)
      • ①步骤
      • ②数据结构
      • ③遍历
  • 二、辐射度量学
    • 1.Radiant Energy 辐射能量
    • 2.Radiant Flux 辐射(光)通量
    • 3.Radiant Intensity 辐射强度
      • 立体角求法
        • ①球面面积法
        • ②微分立体角法
    • 4. 辐照度 Irradiance
    • 5.辐射亮度 Radiance

一、加速光线追踪 AABB

1.均匀网格 Uniform Spatial Partitions (Grids)

①前处理-构建加速网格

  • 找到包围盒
  • 创建网格
  • 判断与物体表面相交的格子(图中右上角少画了一个)
    在这里插入图片描述

②射线与场景相交

  • 按照射线顺序遍历网格
  • 对每个网格单元
    • 测试与存储在该单元中所有对象相交的情况

③网格分辨率

  • 分辨率低,单元格太少 —— 没有加速效果
    在这里插入图片描述
  • 分辨率太高,单元格太多 —— 效率低
    在这里插入图片描述
  • 格子划分要适中,cells = C * objs(物体数),C ≈ 27 in 3D
    在这里插入图片描述

④适用情况

  • 在大量均匀分布的对象集合上表现良好
  • 大规模空气不适合

2.空间划分

  • Oct-Tree(八叉树)、KD-Tree(每次只砍一刀,沿轴方向划分)、BSP-Tree

KD-Tree

①预处理
  • 找到场景中所有的包围盒(AABB)
    • 找到这些包围盒的最小外包围盒,作为KD-Tree的根节点
  • 递归划分节点
    • 对每个节点选择一个轴进行划分(两种)
      • 最长轴:选择对象分布范围最大的轴
      • 中位数
②数据结构
  • 内部节点:(不存储物体)
    • 划分的轴
    • 划分的位置
    • 子结点
  • 叶节点
    • 物体的包围盒
③遍历
  • 判断射线是否与节点的包围盒相交
  • 如果是叶节点,则遍历叶节点中的对象,并测试射线与对象相交情况
  • 如果是内部节点,按顺序判断射线穿过的子节点
    在这里插入图片描述
④问题
  • 物体可能在多个格子里
  • KD-Tree构造太麻烦

3.对象划分 & 包围盒层次结构(BVH)

  • 每个物体只在一个包围盒中,包围盒可能重叠

①步骤

  • 找到包围盒
  • 递归地将包围盒分成两个
    • 最长轴:选择对象分布范围最大的轴
    • 中位数
  • 在每个叶节点存储物体
    在这里插入图片描述

②数据结构

  • 内部节点:
    • 包围盒
    • 子结点
  • 叶节点
    • 物体的包围盒
    • 物体

③遍历

  • 判断射线是否与节点的包围盒相交
  • 如果是叶节点,则遍历叶节点中的对象,返回最近的那个
  • 如果是内部节点,按顺序判断射线穿过的子节点

二、辐射度量学

1.Radiant Energy 辐射能量

  • 指电磁辐射的能量,单位为 J(焦耳)

2.Radiant Flux 辐射(光)通量

  • 单位时间内发射、反射或投射接收的能量,单位为 W(瓦特)

3.Radiant Intensity 辐射强度

  • 光源单位立体角内 发射的 功率,单位为 瓦特每球面度 (W/sr)
    在这里插入图片描述

立体角求法

①球面面积法
  • Ω = A/ r 2 r^{2} r2 ,A 是球面上被截取的面积,r 是球面半径
    在这里插入图片描述
②微分立体角法
  • dΩ = sinθ dθ dϕ,其中 θ 是极角,ϕ 是方位角
    在这里插入图片描述

4. 辐照度 Irradiance

  • 单位面积上 接收到 的辐射通量,单位为 W/ m 2 m^{2} m2(瓦特每平方米)
    在这里插入图片描述

5.辐射亮度 Radiance

  • 单位面积、单位立体角内沿特定方向传播的辐射通量,W/ m 2 m^{2} m2/sr(瓦特每平方米每球面度)
    在这里插入图片描述

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

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

相关文章

表单外链,支持查看方式设置

06/19 主要更新模块概览 外链设置 跳转缩放 打印调整 数据校验 01 表单管理 1.1 【表单外链】-填写外链新增查看方式设置 说明: 原表单填写外链,填写字段权限和查看权限统一字段设置,用户在填写时看到数据与查看数据一致…

Python | 基于支持向量机(SVM)的图像分类案例

支持向量机(SVM)是一种监督机器学习算法,可用于分类和回归任务。在本文中,我们将重点关注使用SVM进行图像分类。 当计算机处理图像时,它将其视为二维像素阵列。数组的大小对应于图像的分辨率,例如&#xf…

常用图片处理操作

静态图片文件转base64 import base64 with open(1.png, rb) as f:source f.read() base64_img base64.b64encode(source)base64转静态图片文件 imgdata base64.b64decode(base64_img)# 将图片保存为文件 with open("new.png", wb) as f:f.write(imgdata)PS:这里…

精密空气加热器负载组

小型便携式 :精密空气加热器(负载组)能够对数据中心热通道/冷通道冷却系统进行全面测试。EAK 是一款 19 英寸机架式设备(10U 高),可轻松安装到各种标准服务器机架中。通过集成可调节的热量水平(…

【计算机毕业设计】061互助学习微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

Redis学习——Redisson 分布式锁集成及其简单使用

文章目录 引言1. Redisson概述1.1 Redisson的基本概念1.2 Redisson的主要功能1.3 Redisson的优点 2. 开发环境3. Redisson的安装与配置3.1 添加依赖3.2 配置Redisson 4. 使用Redisson4.1 可重入锁4.1.1 可重入锁的概念4.1.2 可重入锁的实现原理4.1.3 简单使用锁的获取和释放 4.…

无线麦克风哪个品牌音质最好,一篇看懂无线领夹麦克风怎么挑选

在数字化时代背景下,直播和个人视频日志(Vlog)已成为新的文化现象,这些趋势不仅重塑了内容创作,也促进了音频设备市场的繁荣。无线领夹麦克风,以其设计上的轻便和录音上的高效率,成为视频创作者…

手把手带你薅一台云服务器

前两篇,带着大家在自己本地搞了一台 Linux 虚拟机: 【保姆级教程】Windows上安装Linux子系统,搞台虚拟机玩玩【保姆级教程】Windows 远程登陆 Linux 服务器的两种方式:SSH VS Code,开发必备 问题来了:本…

nacos漏洞小结

Alibaba Nacos是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理…

51单片机第18步_将TIM0用作13位定时器

本章重点学习将TIM0用作13位定时器。 1、定时器0工作在模式0框图 2、定时器0工作在模式0举例 1、Keil C51中有一些关键字,需要牢记: interrupt 0:指定当前函数为外部中断0; interrupt 1:指定当前函数为定时器0中断…

onInterceptTouchEvent() 与 onTouch() 事件分析

前言 本文主要分析 onTouch() 与 onTouchEvent() 事件的差异 正文 先看布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <com.longzhiye.intercepttouch.MyFrameLayout xmlns:android"http://schemas.android.com/apk/res…

PointNet++论文导读

PointNet论文导读 主要改进网络结构&#xff1a;非均匀采样下的特征学习的鲁棒性利用点特征传播处理数据集分割 论文链接:https://arxiv.org/abs/1612.00593 主要改进 PointNet的基本思想是学习每个点的空间编码&#xff0c;然后将所有单个点的特征聚合成一个全局点云标签&am…

模块化编程(二)

模块的导入 经常有这样一句话&#xff1a;“不要重复造轮子”&#xff0c;知道别人已经造好了轮子&#xff0c;并且轮子也好用&#xff0c;那就直接拿别人的轮子来用&#xff0c;此处的“模块导入”就是“拿别人的轮子过来”。前文提到模块化编程的好处之一就是“代码复用性高…

【6.26更新】Win10 22H2 19045.4598镜像:免费下载!

当前微软已经发布了六月最新的KB5039299更新补丁&#xff0c;用户完成升级后&#xff0c;系统版本号将更新至19045.4598。此次更新解决了任务栏上应用跳转列表失败、可能导致系统无法从休眠状态恢复等多个问题&#xff0c;推荐大家升级。如果您不知道去哪里才能下载到该版本&am…

mac|tableau public 仪表盘使用

对华东地区的利润进行仪表盘可视化 选择下面的功能表的新建仪表盘,把上面的表1表2放入其中 通过下图操作将两个表联合起来&#xff0c;即上图使用筛选器时下面的表随之改变 将上图设置为筛选器&#xff0c;可以通过点击地区查看数据

防护用品穿戴自动监测摄像机

随着技术的不断发展&#xff0c;防护用品穿戴自动监测摄像机作为现代安全监控领域的创新应用&#xff0c;正逐渐成为各类工作场所和特定环境中的重要设备。这种摄像机不仅能够实时记录和监控员工的工作状态和安全情况&#xff0c;还能提供数据支持和预警功能&#xff0c;显著提…

第四十篇——系统论:如何让整体效用大于部分之和?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 系统论&#xff0c;又从一个大的生态的角度去考虑&#xff0c;我们应该如…

贪心问题(POJ1700/1017/1065)(C++)

一、贪心问题 贪心算法 贪心算法&#xff08;greedy algorithm&#xff09;&#xff0c;是用计算机来模拟一个「贪心」的人做出决策的过程。这个人十分贪婪&#xff0c;每一步行动总是按某种指标选取最优的操作。而且他目光短浅&#xff0c;总是只看眼前&#xff0c;并不考虑…

CSS 背景添加白色小圆点样式

css也是开发过程中不可忽视的技巧 此专栏用来纪录不常见优化页面样式的css代码 效果图: 未添加之前: 代码: background: radial-gradient(circle at 1px 1px, #3d3c3c 2px, transparent 0);background-size: 20px 25px;

在AvaotaA1全志T527开发板上烧录AvaotaOS固件

烧写到 TF 卡上 材料准备 首先需要准备的材料有: SD-Card Formatter&#xff1a;balenaEtcherAvaota Pi - A1开发板 x1TF-Card ( 不小于4Gb ) x112V-DC电源适配器 x1TF读卡器 x1USBTTL Splitter x1&#xff08;可选&#xff09;HDMI 采集卡 x1 &#xff08;可选&#xff09;…