15、计算机图形学——基于AABB进行光线追踪的加速(上)

光线追踪 BVH 加速结构实战:C++ 实现 2 倍渲染速度提升(附完整代码) 本文详细介绍了如何通过层次包围体(BVH)加速结构优化光线追踪器,实现2倍渲染速度提升。通过C++实战代码演示了AABB包围盒相交检测、BVH树构建算法及光线-BVH相交遍历优化技巧,适用于复杂场景的高效渲染。 阅读详情

white-styled光线追踪需要计算光线与每个三角形面的交点,并投影到像素上,并且还要考虑光线的反射和折射,所以,计算量很大(GPU你忍一下)

那么,如何降低white-styled光线追踪的计算量呢

一个基本的思想就是把三维场景中的物体用一个外壳包起来,如果光线和这个外壳都没有交点,那么,必然和物体的表面也没有交点

基于这个思想,就产生了AABB

一、AABB(Axis-Aligned Bounding Box)

AABB中文翻译是轴对齐包围盒,三对儿面都与xyz轴平行

为啥需要与xyz轴平行呢,是因为计算方便,如下图所示

普通平面计算与光线求交点计算t,需要三次减法(三个方向的坐标相减),六次乘法(两次向量点积)和一次除法

而AABB的这两个面只垂直于x轴,法线向量的后两个维度都是0,所以只需要在计算点积时,只需要考虑x方向的分量即可,所以只需要一次减法和一次除法

接下来,该如何计算t呢?以二维AABB为例

分别考虑xy两对儿直线,先看垂直于x轴的两条直线,穿过左边的时间为tmin,穿过右边的时间为tmax,再看垂直于y轴的两条直线,穿过下面的直线的时间为tmin,穿过上面直线的时间为tmax

这么多t,怎么甄别这么多t呢(t是负值表示反向传播)?依据有两点:1、光线穿过所有平面,才算进入AABB;2、光线离开任意平面,就算离开AABB

那么对于所有进入AABB的时间tmin来说,只要选择一个最大的tmin来表示进入的时间,就代表了此时光线已经穿过了所有平面,进入AABB;

对于所有进入AABB的时间tmax来说,只要选择一个最小的tmax来表示离开的时间,就代表了此时光线已经离开了AABB

所以可得,进入时间和离开时间为

试想一下,如果tenter小于texit,那是不是就表示光线是反向传播的(可以把最右边的那个图的光线反向传播),那么,此时光线就不会和AABB有交点

此外,如果texit<0,那么也表示光线和AABB没有交点

所以,如果想让光线和AABB有交点,那么必须满足如下条件

还有一种较为特殊的情况,就是texit>=0,tenter<0,那么就表示光源在AABB里面

有了AABB,就有了下面三种基于AABB对光线追踪加速的方法

二、均匀空间划分加速光线追踪

均匀空间划分的过程如下:

首先对于场景中所有的物体,先找一个大的AABB包起来

然后将这个大的AABB均匀划分成一系列小的AABB

之后把物体信息存储在每个小的AABB上

最后,根据光线的方向得到所有与光线相交的小AABB,如果该AABB中存在物体信息,那么再判断光线与物体表面的三角形网格是否相交

上述过程有一个关键点,就是将一个大的AABB具体要划分成多少小AABB,考虑两种极端情况,在下图的左上角,如果完全不划分的话,那么将不会有任何的加速效果

但是如果划分的太密集,那么得到的小AABB会太多,也会在一定程度上减缓加速的效果

所以,根据经验来看,小AABB的数量一般是一个常数乘以物体数量,而这个常数一般在27左右

因为存在划分小AABB数量多少会导致加速效果不同的问题,所以,这种加速方法如果被用来加速渲染比较空旷的场景,那么就会产生大量没有物体信息的小AABB,加速效果就不会太好

 

所以,这种方法一般适用于加速渲染物体分布均匀且较为密集的场景,比如下面的这种场景

参考

 GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili

欢迎大家评论交流,作者水平有限,如有错误,欢迎指出

3D高斯渲染与光线追踪优化技术GRTX解析 光线追踪作为计算机图形学的核心技术,通过模拟光线物理行为实现全局光照、软阴影等逼真效果。其核心原理是构建BVH等加速结构优化光线与物体的求交计算,在游戏引擎、影视渲染等领域具有重要价值。3D高斯渲染技术采用可学习的高斯基元表达场景,相比传统NeRF方法能实现数量级的性能提升。GRTX创新性地结合两层级加速结构和硬件级遍历优化,解决了高斯光线追踪面临的内存膨胀和冗余计算问题,使渲染效率提升4倍以上。该技术在AR环境光照、自动驾驶仿真等场景展现出独特优势,为实时高质量渲染提供了新的技术路径。 阅读详情

相关推荐

最小包围盒:空间加速算法的核心原理与工程实践

在计算机图形学与游戏开发中,空间数据结构是优化碰撞检测、视锥体裁剪和光线追踪等任务的基础。其核心原理在于利用简单的几何体(如包围盒)来近似表示复杂对象,通过快速排除不可能相交的情况,将计算复杂度降低数个数量级。这项技术的核心价值在于实现高效的空间加速,广泛应用于实时渲染、物理模拟和空间索引等场景。其中,轴对齐包围盒(AABB)凭借其极简的相交测试逻辑(基于分离轴定理的简化形式)成为最常用的基础结构,而有向包围盒(OBB)则通过主成分分析(PCA)实现更紧密的包裹,在精度与计算成本间取得平衡。本文深入探讨了从

423

计算机图形学笔记十二:Ray Tracing2(AABB加速光线追踪)

计算机图形学自学笔记之 Ray Tracing2(AABB加速光线追踪)

qq_51776686的博客 1701

光线追踪与3D高斯渲染技术解析及优化

光线追踪是计算机图形学中模拟真实光线行为的核心技术,通过追踪虚拟光线与场景物体的交互,实现反射、折射等复杂光学效果的逼真渲染。其核心挑战在于光线与几何体的求交测试计算量大和内存访问模式不规则。3D高斯渲染(3DGS)作为一种革命性场景表示方法,使用各向异性高斯分布描述几何和外观特性,支持梯度下降优化和实时渲染。然而,传统3DGS在非针孔相机模型和次级光线效果处理上存在局限。GRTX通过射线空间变换和两级BVH架构优化,显著提升性能,减少内存占用,适用于增强现实、自动驾驶仿真等场景。

weixin_34163588的博客 299

计算机图形学知识点1-光线追踪中轴对齐边界盒(AABB)算法

最近在做虚拟视点生成方面的研究,发现很多在渲染优化过程中提到AABB算法,就特意在知乎查找了一下,并记录在公众号内非常给大家。(重点:在de迭一个最大值f 比 在DE跌一个最小值F 小,则重叠;后面一定要谨记此思想)首先,从基本的球开始 ,光线追踪的原理就是当光线方程与球体方程相交时,联立两个方程,求出一个t值。这是一个二元一次方程,t 就是他的根 。但是,当场景里面的物体增多时,就会使得计算变得...

CSS360的博客 1270

45、高效粒子体积喷涂与屏幕空间光子映射渲染技术

本文介绍了两种高效的图形渲染技术:高效粒子体积喷涂与屏幕空间光子映射。前者基于光线追踪架构,解决了传统光栅化方法在处理大规模粒子数据时性能下降的问题;后者利用屏幕空间光子映射技术,实现了焦散效果的实时渲染。两种技术分别通过NVIDIA OptiX SDK和硬件光线追踪支持,在游戏、电影及科学可视化领域具有广泛应用前景。文章还提供了相关算法、实现步骤及性能对比结果。

jump7的博客 90

【信息科学与工程学】【制造工程】第一百四十八篇 工程装备中的几何体01

本表已在每个几何体的“几何/拓扑体的数学描述和表达式”列中,完整包含:几何方程式(参数/隐式/矩阵)连续介质力学方程式(平衡/本构/热/振动)材料科学方程式(屈服/蠕变/疲劳/扩散)计算几何方程式(凸包/距离/相交/离散曲率/网格生成)计算机图形学方程式(渲染/光照/纹理/阴影/光线追踪)数据结构与算法表示方法(BVH/半边/细分/碰撞检测)所有内容均以详细方程式列表形式呈现,参数范围已标注,满足“每个字段足够详细”的要求。奥洛伊德(编号16)作为强制包含项,已给出最详尽的六维方程式体系。

weixin_49199313的博客 145

Bounds(包围盒)详解-【AABB包围盒、Sphere包围球、OBB方向包围盒、FDH固定方向凸包】

====================================================|| 欢迎讨论技术的可以相互加微信:windgs (请备注csdn+xx职业) ====================================================|| 目录 目录 欢迎讨论技术的可以相互加微信:windgs (请备注csdn...

随意的风的专栏 3万+

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1386

轴对齐包围盒(AABB)和有向包围盒(OBB)介绍

在三维建模中的包围盒:轴对称包围盒和有向包围盒的介绍

qq_45855825的博客 8070

【信息科学与工程学】【数据科学】数据科学领域 第四篇 数据处理05 图形理论与图数据

本表格系统性地整理了分子运动图形图像模拟中涉及的全部核心数学方程分子力学基础:包括力场能量项、键合与非键相互作用的详细表达式分子运动方程:刚体运动、柔性分子运动、约束动力学算法溶剂效应:隐式与显式溶剂模型,连续介质方法量子化学方法:薛定谔方程、分子轨道理论、密度泛函理论分子动力学:积分算法、增强采样技术、自由能计算方法分子对接:打分函数、搜索算法、结合模式分析光谱模拟:红外、拉曼、圆二色性、NMR等光谱的计算方法反应动力学:过渡态理论、势能面、非绝热过程模拟分子可视化。

weixin_49199313的博客 1332

【信息科学与工程学】计算机科学与自动化——第十篇 芯片设计31 芯片中的参数02

编号类型领域参数名称参数所属于的数学方程式参数约束数学方程式参数数值(示例/参考)关联参数列表及集合关联知识数学分析与数学推理385材料/电学电学(可靠性)偏置温度不稳定性(BTI)中阈值电压漂移的恢复(Recovery)比例 (Rrec)在去除应力后,部分被俘获的电荷被释放,V_th 部分恢复。恢复比例 R_rec = (ΔV_th,stress - ΔV_th,recovery) / ΔV_th,stress。R_rec 是时间和温度的函数。受俘获电荷能级分布、界面质量、温度约束。R_rec 影响 BT

weixin_49199313的博客 515

[计算机图形学]光线追踪:加速结构(前瞻预习/复习回顾)

主要介绍了轴对齐包围盒的加速结构,光线与包围盒求交的运算,以及光线与空间划分的运算:包括均匀空间划分,KD-Tree划分,BVH。

Yhisken的博客 1245

【信息科学与工程学】【数据科学】第一百八十八篇 线性/非线性泛函分析01

​ 普通数值函数 f:R→R​泛函⬇️最规矩的孩子:线性泛函(面积、加权求和)⬇️大多数自然界的现象:非线性泛函(曲线的能量、弧长)⬇️最光滑好算的:连续/可微泛函(可用欧拉-拉格朗日方程求极值的)⬇️刺头:不连续/奇异泛函(狄拉克 Delta,阶跃)弧长泛函​ — 变分法/几何最速降线泛函(时间泛函)​ — 变分法/经典力学动能-势能差(作用量)泛函​ — 拉格朗日力学Dirichlet能量泛函​ — PDE/位势论/调和函数线性积分泛函(Lebesgue空间上的有界线性泛函)

weixin_49199313的博客 192

光线追踪30天速成指南:从零基础到掌握核心概念

光线追踪是计算机图形学中一种强大的渲染技术,能够模拟光线在场景中的传播、反射和折射,生成逼真的图像效果。本指南将带领你在30天内从零基础入门,逐步掌握光线追踪的核心概念和实现方法,最终能够独立构建一个简单但功能完整的光线追踪器。 ## 一、光线追踪基础:理解核心原理 光线追踪的基本思想是模拟光线从相机出发,与场景中的物体相交,并根据物体的材质属性计算颜色。这个过程可以简单概括为"发射光线-求交

gitblog_01160的博客 469

【信息科学与工程学】计算机科学与自动化——第六十六篇 算子篇 第一章 通用算子01 多模态数据(图形/图像/文本/语音)中推断人类内在状态、策略、动机和利益的算法算子知识库

编号领域算法/方法算子名称算子的数学方程式/表达复杂度 (示例)关联知识11量子场论正则量子化产生/湮灭算符对易关系: [â_p, â†_q] = δ⁽³⁾(p​ - q)应用于态空间,计算复杂度取决于截断福克空间,粒子数表象,二次量子化12统计力学蒙特卡洛模拟马尔可夫链转移算子T(s → s‘) :满足细致平衡条件 π(s)T(s→s’)=π(s‘)T(s’→s)收敛到平衡分布需 ~O(τ), τ为相关时间细致平衡,Metropolis-Hastings准则,重要性采样13电磁学边界元法单层势/双层势算子

weixin_49199313的博客 306

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

中国海洋大学-计算机图形学-期末速成知识点整理

本文摘要了计算机图形学考试要点,包括题型分布(选择题、简答题、综合题)和重点内容。重点涵盖向量运算性质、二维/三维变换、光栅化成像(采样、走样、反走样)、可见性算法(画家算法、Z-buffer)、着色模型(Blinn-Phong)、纹理映射、几何表示(隐式/显式)、贝塞尔曲线、光线追踪(求交算法、AABB加速)等核心知识点。特别强调简答题和综合题的解题思路,包括过程推导、图示说明和不同方法的对比分析。动画部分仅涉及选择题考点。全文系统梳理了图形学核心概念及其应用场景。

2301_79234464的博客 648

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 793

RaytrAMP:高效计算电磁散射的利器

RaytrAMP:高效计算电磁散射的利器 项目介绍 RaytrAMP是一款基于射击与反射射线(SBR)方法的雷达散射截面(RCS)计算工具。SBR方法作为一种近似的电磁求解器,在高频和远场范围内能够提供准确的结果。与全波求解器如矩量法相比,它不仅计算速度更快,而且所需的计算资源更少。SBR的工作原理与计算机图形学中的光线追踪非常相似。 项目技术分析 RaytrAMP能够计算任意电大复杂PEC(完美...

gitblog_00381的博客 1165

IT世界里的“国境线”(芯片与算法篇)

首先分析下概念,对于芯片,相信大家已经比较了解,就不做过多的解释。我们说一下算法,虽然算法是应用在IT领域,但我相信学数学的同学,特别是学习计算数学的,对算法应该更加熟悉。记得在本科课程中,专门有一门课叫做“算法设计”。从概念上来讲,算法指的是解决问题的方法和流程,是一段逻辑,一系列解决问题的清晰指令。或者更通俗一点来讲,算法是从A到B,所有可能的计算方式。 一、 芯片与算法的关系 芯片和算法并不是独立或者对立的两个个体。芯片本身就集成了算法。算法是一种逻辑概念,芯片是算法的一种表现形式,软件也是算法的

weixin_49664622的博客 7018

别再只用GPS了!用Android手机传感器实现室内步行轨迹记录(避坑指南)

本文详细介绍了如何利用Android手机传感器(如加速度计、陀螺仪和磁力计)实现室内步行轨迹记录,克服GPS在室内的局限性。通过传感器数据采集、步态检测、航向估计和轨迹绘制等步骤,结合避坑指南和优化技巧,帮助开发者高效构建室内定位应用。

weixin_26821003的博客 274

Cocos基础概念知识

【架构透视与数据流向图解】Cocos Creator 3.x 引入了高度可定制的现代渲染管线(Render Pipeline),支持跨平台的高性能图形渲染。其工作原理可以抽象为一个从“逻辑数据”到“屏幕像素”的数据流转换过程。【工作原理数据流图】场景图 (Scene Graph)➔渲染收集 (RenderFlow)➔渲染队列 (RenderQueue)➔渲染管线 (RenderPipeline)➔图形 API (WebGL/Vulkan)1. 场景漫游与数据收集(RenderFlow)

qq_52269550的博客 562

EPO: Hierarchical LLM Agents with Environment PreferenceOptimization

长期决策和规划任务依然是基于大型语言模型(LLM)的智能体面临的一大挑战(Valmeekam 等,2023;Liu 等,2023;Silver 等,2024)。这些任务需要智能体进行多步骤的规划,同时保持行为的一致性和目标导向,这对于通常被设计用于即时和局部预测的大型语言模型来说颇为困难。此外,针对具身智能体的大型语言模型微调面临的一个关键难题是大规模标注数据的需求(Reed 等,2022)。

qq_52053775的博客 142
上一篇: 14、计算机图形学——whited-style光线追踪
下一篇: Kanzi常用操作2
Master Cui
博客等级 码龄9年 1408粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值