方法逐行拆解 · 2025 — 2026
Radiance Meshes:能被显卡直接画的辐射场
Radiant Foam 用 Voronoi 泡沫做了实时光追辐射场,但 Voronoi 细胞平均有 15 个面,没法用显卡的光栅化管线画。
Radiance Meshes 换了对偶的另一半:Delaunay 四面体。四面体只有 4 个三角面——而三角形正是
GPU 硬件天生就会画的东西。于是同一个"分段常数密度"的辐射场,既能光栅化、又能光线追踪,而且体积分是
解析精确的,在 1440p 下比 3DGS 还快 32%。
预设读者:会基本的 NeRF(体渲染那条积分)、线性代数、微积分。不会 Delaunay / 四面体网格 / 可微拓扑也没关系——
我们从头讲,并把论文每一步对到官方代码 half-potato/radiance_meshes。如果你读过隔壁的
Radiant Foam 拆解,这页就是它"四面体版的孪生兄弟",对比着读最划算。
1 篇核心论文 + 1 篇直接后续 · 4 个交互演示 · 最后更新 2026-06-01
阅读路径建议
零基础:从 §1 顺读,§4 的对偶演示先玩 30 秒。
已经懂 3DGS / Radiant Foam:直接跳 §6(外接球排序)、§7(怎么把四面体塞进光栅化管线)、§9
(外心查询的可微性)——这三节是 Radiance Meshes 和前作真正分道扬镳的地方。
只想看后续:跳到 §15。
§1一句话:它到底是什么
从带位姿的照片重建可换视角的 3D 场景,主流四条路线,Radiance Meshes 是第四条:
- NeRF:场景 = 一个 MLP;沿光线采几十上百点、每点查一次网络做体积积分。质量高,慢。
- 3DGS:场景 = 数百万带协方差高斯;光栅化投影 + 深度排序 + alpha 混合。极快,但是 splatting,不是光追,且排序会 popping。
- Radiant Foam:场景 = 一团 Voronoi 泡沫;光线逐细胞穿过去,实时光追、无需 BVH。但 Voronoi 细胞面太多,上不了光栅化车道。
- Radiance Meshes:场景 = 一堆 Delaunay 四面体(Voronoi 的对偶);每个四面体密度常数、颜色线性,光栅化和光追两条路都能精确渲染。
关键想法 · 一句话
用 Delaunay 四面体(不是 Voronoi 细胞)来切场景:四面体只有 4 个三角面,显卡的光栅化管线原生就能画;
密度在每个四面体内是常数、颜色线性变化,于是体渲染积分有解析闭式;用外接球的幂排序得到
严格正确的前后顺序(连鱼眼相机都对);属性不存在顶点上,而是用一个 Instant-NGP 哈希场在每个四面体的外心处查询,
这样即使拓扑翻转,场也连续可导。
作者 Mai, Hedstrom, Kopanas, Kontkanen, Kuester, Barron(UC San Diego + Google),CVPR 2026 Highlight,
代码与 WebGPU 在线 demo 全开源(half-potato.gitlab.io/rm)。
§2核心方程:精确体渲染(密度常数、颜色线性)
还是那条发射-吸收体渲染积分,一条光线 $\mathbf{r}(t)=\mathbf{o}+t\mathbf{d}$:
$$ \mathbf{C} = \int_{0}^{\infty} T(t)\,\sigma(\mathbf{r}(t))\,\mathbf{c}(\mathbf{r}(t),\mathbf{d})\,dt,
\qquad T(t)=\exp\!\Big(-\!\int_0^t \sigma\,ds\Big) $$
关键差别在 $\sigma$ 和 $\mathbf{c}$ 的形状:密度在每个四面体内是常数
$\sigma_k$,颜色在四面体内是线性的 $\mathbf{c}_k(\mathbf{p})=\mathbf{c}_k^0+\nabla\mathbf{c}_k\cdot(\mathbf{p}-\mathbb{O}_k)$。
于是光线穿过四面体 $k$ 的那一段(入口 $t_k^{\text{in}}$、出口 $t_k^{\text{out}}$)
的贡献有解析闭式——只用到入口颜色和出口颜色:
$$ \Delta\mathbf{C}_k = \Big(1-\tfrac{\alpha_k}{d_k}\Big)\mathbf{c}_k^{\text{in}}
\;+\;\Big(\tfrac{\alpha_k}{d_k}-e^{-d_k}\Big)\mathbf{c}_k^{\text{out}},
\qquad d_k=(t_k^{\text{out}}-t_k^{\text{in}})\,\sigma_k,\quad \alpha_k=1-e^{-d_k} $$
$$ \mathbf{C}=\sum_k w_k\,\Delta\mathbf{C}_k,\qquad w_k=\prod_{l=1}^{k-1}(1-\alpha_l) $$
注意 $\Delta\mathbf{C}_k$ 同时含入口色 $\mathbf{c}_k^{\text{in}}$ 和
出口色 $\mathbf{c}_k^{\text{out}}$——这正是"颜色线性"带来的:常数颜色只需一个值,线性颜色要两端。
这个和式严格等于积分(不是 NeRF 那种数值近似,也不是高斯叠加近似)。
直觉
$d_k=\sigma_k\cdot$弦长 是这段的"光学厚度"。$\alpha_k=1-e^{-d_k}$ 是这段吃掉光的比例。
$w_k$ 是走到第 $k$ 段前还剩多少透射率。$\alpha_k/d_k$ 这个因子是积分里"线性颜色
沿程加权平均"的结果——当 $d_k\to 0$ 整段贡献趋于 0(代码里要对 $d_k$ 很小做保护)。
§3为什么是四面体,不是 Voronoi 细胞
Radiant Foam 和 Radiance Meshes 用的是同一组点的两种对偶切分:Voronoi 细胞 vs Delaunay 四面体。
选哪个,决定了你能不能用显卡的光栅化硬件。下面这张表是两篇论文的真正分水岭。
| Radiant Foam(Voronoi) | Radiance Meshes(Delaunay tet) |
| 图元 | Voronoi 细胞 | Delaunay 四面体 |
| 每个图元的面数 | 平均 ~15.5 面 | 恰好 4 个三角面 |
| 能否硬件光栅化 | 否(要把多边形面剖成几十个三角形) | 能(三角形原生支持) |
| 渲染路径 | 只有光线追踪 | 光栅化 + 光线追踪 两条 |
| 密度 / 颜色 | 常数 / 球谐 | 常数 / 线性(颜色梯度) |
| 属性存哪 | 直接存在 site 上 | Instant-NGP 哈希场,在外心查询 |
| 可微性的解法 | 零面积翻转 | 外心连续 + Zip-NeRF 降权 |
| 容量(RTX 4090) | ~3.3M 细胞 | ~15M 四面体 |
论文原话:"与 Voronoi 图不同,Delaunay 四面体剖分给出的是简单三角形,现有硬件原生支持。"
而 Radiant Foam 当初故意没用四面体,是因为"顶点位置到网格拓扑的映射不连续"(翻转)——
Radiance Meshes 的核心贡献,正是用 §9 的外心查询把这个不连续解掉了。
§4Delaunay 四面体 + 外心查询
给一组顶点 $\{\mathbf{v}_i\}$,Delaunay 四面体剖分把空间填满成不重叠的四面体 $T_k$,
满足"空外接球"性质(每个四面体的外接球内不含其它顶点)。它是 Voronoi 的对偶。
但 Radiance Meshes 有个反直觉的设计:它不把密度/颜色直接存在顶点或四面体上。而是维护一个
Instant-NGP 多分辨率哈希场 $G_\theta$(配 Mip-NeRF 360 的空间收缩),然后在每个四面体的
外心 $\mathbb{O}_k$ 处查询它,得到该四面体的特征,再解码成密度和颜色。
为什么是外心,而不是顶点或质心
这是全篇的胜负手,留到 §9 详讲。一句话先剧透:当拓扑翻转时,参与翻转的两个四面体外心几乎重合
(翻转点附近四点近似共球)。所以"在外心查询场"这件事跨翻转是连续的——而如果把值存在顶点上,
翻转会让值突然跳变,没法求导。
§5每个 tet 算出什么
从外心查到的特征 $\mathbf{b}_k$ 解码出三样东西(论文 Eq. 9–12)。先用 Zip-NeRF 的尺度降权
$\varphi$ 按外接半径 $\mathbb{R}_k$ 压掉高频哈希特征(细长四面体半径暴涨时尤其重要):
$$ \mathbf{b}_k=\varphi(\mathbb{R}_k)\odot G_\theta(\mathbb{O}_k),\qquad
\sigma_k=\exp\big(h_\sigma(\mathbf{b}_k)\big) $$
$$ \mathbf{c}_k^0=\mathrm{softplus}_{\beta=10}\!\big(h_{\text{sh}}(\mathbf{b}_k)\cdot Y(\mathbf{d}_k)\big),\qquad
\nabla\mathbf{c}_k=\frac{\min \mathbf{c}_k}{\mathbb{R}_k}\cdot\frac{h_\Delta(\mathbf{b}_k)}{\sqrt{1+\lVert h_\Delta(\mathbf{b}_k)\rVert^2}} $$
| 量 | 怎么来 | 含义 |
| 密度 $\sigma_k$ | $\exp(h_\sigma(\mathbf{b}_k))$ | 四面体内常数 |
| 基色 $\mathbf{c}_k^0$ | 球谐 $Y(\mathbf{d}_k)$ · softplus | 视角相关(SH 阶数论文未明示) |
| 颜色梯度 $\nabla\mathbf{c}_k$ | 受约束保证非负 | 让颜色在四面体内线性变化 |
规模感:每场景约 920 万(室外)/ 420 万(室内)四面体,单卡 RTX 4090 最多可达 ~1500 万四面体
(Radiant Foam 约 330 万 Voronoi 细胞)。Web 导出配置用 --budget 250000 顶点上限以适配浏览器。
§6排序键:外接球的幂(power of the circumsphere)
要把许多四面体合成成一张图,得有正确的前后顺序。3DGS 按高斯中心到相机的距离排,会在视角变化时
突然换序(popping)。Radiance Meshes 用一个更聪明、且可证明正确的键——四面体外接球
关于光线原点 $\mathbf{o}$ 的幂:
$$ P(T)=\lVert \mathbb{O}(T)-\mathbf{o}\rVert^2-\mathbb{R}(T)^2 $$
其中 $\mathbb{O}(T),\mathbb{R}(T)$ 是外接球的球心和半径。按 $P$ 升序排,就是严格正确的
前→后顺序,没有 popping。而且它只依赖光线原点,不依赖光线方向——所以只要所有光线共用一个
原点(针孔、鱼眼、各种畸变相机都算),这个排序都成立。这就是 Radiance Meshes 能免费支持鱼眼的原因。
Demo 2 · 外接球幂排序 vs 朴素质心排序
四个互相重叠、大小悬殊的三角形(=四面体),数字是当前的前→后合成顺序。拖动青色相机点绕场景移动:
打开开关用外接球的幂排序(正确);关掉改成质心距离(3DGS 式)——你会看到在某些相机位置,
大三角形和小三角形的顺序判断不一样,这正是 popping 的来源。大小差越大,朴素排序越容易错。
§7光栅化路径(论文的新方法)
把"会动的几何"喂给光栅化管线很慢。Radiance Meshes 的诀窍:发送冗余但静态的几何——把每个面复制两份、
每个顶点按它连接的四面体数复制多份,让固定功能管线自己筛。每个四面体作为一个图元:顶点/网格着色器
算好 4 个面的平面方程,片元着色器用透视正确的重心插值恢复出入口/出口交点,套上 §2 的闭式。
入口/出口距离用 Cyrus–Beck 裁剪对 4 个面求交。论文 Algorithm 1 预算了 4 个顶点处的平面交点,
让每个片元只花 12 FLOPs。核心片元逻辑(已贴近 shader 写法):
# 片元着色器:对四面体 4 个面做 Cyrus–Beck 裁剪,取入/出 t(~12 FLOPs)
d = length(ray_dir)
planeD = planeD / d
all_t = planeN / planeD # 光线到 4 个面的参数
t_enter = max(all_t[planeD > 0]) # 朝前的面里最靠后的 = 入口
t_exit = min(all_t[planeD < 0]) # 朝后的面里最靠前的 = 出口
# 然后用 §2 的闭式:d_k=(t_exit-t_enter)*sigma; alpha=1-exp(-d_k)
# dC = (1 - alpha/d_k)*c_in + (alpha/d_k - exp(-d_k))*c_out
两个 shader 变体:Mesh shader(最快,一个线程块协作生成网格数据,靠 warp shuffle 让每个四面体只加载一次);
Instanced(兼容 WebGL / 移动端,每个四面体画一条实例化三角带,顶点加载 4 次)。顺序由 §6 的幂排序给出。
这条路在 MipNeRF360 上达到 240 FPS(室外)/ 384 FPS(室内),1440p 下比 3DGS 快约 32%。
§8光线追踪路径
另一条路用 OptiX,借用了 3DGRT 的透明度处理。它不像 Radiant Foam 那样靠邻接逐面行走,
而是把每个四面体作为 4 个代理三角形交给 OptiX 的硬件三角求交,命中后同样用 Cyrus–Beck 算
入口/出口距离,套 §2 闭式。速度 84 FPS(室外)/ 190 FPS(室内),比 Radiant Foam 的光追器
快约 17%。
两条路,同一个积分
光栅化和光线追踪算的是同一个精确闭式(§2 的 Eq.)。光栅化更快、连 WebGPU/移动端都能跑;光追更灵活,
适合二次光线/特效,并复用 3DGRT 的透明度。能二选一,正是因为图元是三角形——硬件这两条管线都认。
§9外心连续性:跨拓扑翻转可导
训练要对顶点位置 $\mathbf{v}_i$ 求导。但顶点一动,Delaunay 连接就会通过边翻转(Pachner move)
突变:四面体凭空出现/消失。这正是 Radiant Foam 当年绕开四面体的原因。Radiance Meshes 的解法和 Radiant Foam 不同——
不是"零面积",而是:
把这句话刻进脑子
属性不存顶点,而是用哈希场在四面体外心处查询。翻转发生时,参与翻转的两个四面体
四点近似共球,所以它们的外接球几乎是同一个,外心几乎重合。于是"在外心查到的密度/颜色"
跨翻转是连续的——拓扑离散跳变,但场连续可导。再加 Zip-NeRF 降权
$\varphi(\sigma)=\mathrm{erf}\!\big(1/\sqrt{8\sigma^2 n_\ell^2}\big)$,在四面体变细长(外接半径暴涨)时
压掉高频哈希特征,稳住数值。
对照一下两兄弟的可微性策略,会更清楚它们是同一几何事实的两种用法(翻转点四点共球):
| Radiant Foam | Radiance Meshes |
| 渲染的图元 | Voronoi 细胞 | Delaunay 四面体 |
| 翻转时的几何事实 | 共享 Voronoi 面面积→0 | 两四面体外心→重合 |
| 因此连续的原因 | 零面积墙贡献为 0 | 外心查询点连续移动 |
| 属性存哪 | 直接存 site | 哈希场,外心采样 |
下面这个演示把"外心相遇"演给你看——它是 Radiance Meshes 可微性的全部秘密。
§10初始化:从 COLMAP 出发,gDel3D 每 10 步重建
顶点 $\{\mathbf{v}_i\}$ 从 COLMAP SfM 点云初始化(初始点数论文未明确给出)。四面体剖分用
gDel3D——一个 GPU 上的 3D Delaunay 库(不是 CGAL/qhull/scipy),代码里作为子模块。
整个训练里它每 10 个迭代从头重建一次——这就是为什么"快速重建三角剖分"是设计前提:顶点一直在动,
剖分必须便宜到能频繁重算。
§11训练循环与损失
这部分论文正文给的数字偏少,下面区分"论文明说的"和"来自官方仓库 / 未公开的",照实标注:
- distortion 损失(施加在密度上):借 Mip-NeRF360 的 distortion 思想压 floater,但作用在
密度而非 alpha 合成权重上("原版形式不适合解析积分")。权重:论文未给。
- 哈希网格的归一化 L2 weight decay(沿用 Zip-NeRF)。系数:论文未给。
- 光度项(L1 / L2 / SSIM 权重):正文未明确给出。
- 致密化后的 LR 尖峰:在第 $I$ 步致密化后,对哈希网格权重和顶点坐标的学习率短暂拉高
$\propto \exp(-6(i-I)/L)$ 再衰减,帮新加的几何快速归位。
- 迭代数:主配置未明说;仓库 web 配置用
--iterations 10000、--freeze_start 8000
(后段冻结顶点)。
- 优化器:论文未明说(推测 Adam,未确认)。
单步开销(约 120 万四面体)大致:渲染 ~19ms + 哈希查询 ~13ms + 反传 ~143ms + Delaunay 重建 ~92ms ≈ ~267ms/步。
整盘训练 RTX 4090 上 每场景约 2.6–4.5 GPU·小时——比 3DGS(~0.5h)和 Radiant Foam(~1.6h)都慢,
这是它换来"两条渲染路 + 高质量"的代价。
§12自适应密度控制
致密化每 500 步一次,用两个"分裂分数"决定哪些四面体要加点:
- SSIM 分裂分数 $S_k$:把图像 SSIM 误差按贡献反投影到图元上,$S_k>0.5$ 的四面体分裂。
- 总方差分裂分数 $T_k$:四面体内渲染残差的方差(抓细长结构),$T_k>2.0$ 的分裂。
- 新点位置:取误差最大的两个视角,算它们两条光线的近似交点(最短连线中点)作为新顶点;
落在四面体外就退化为随机采样。(仓库对应
--within_thresh / --total_thresh / --budget。)
剪枝/阈值方面,正文未详述显式 prune;网格抽取时按峰值颜色贡献剔除贡献 <0.1 的四面体
(仓库另有 --alpha_threshold / --density_threshold)。
§13数字与权衡
数据集 Mip-NeRF360 + Tanks&Temples + Deep Blending。一句话总结:质量稳压 Radiant Foam、略低于 3DGS,
但渲染(尤其室内/光栅化)最快,代价是训练慢。
| 场景组 | 指标 | Radiance Mesh | 3DGS | Radiant Foam |
| MipNeRF360 室外 | PSNR/SSIM/LPIPS | 24.38 / 0.721 / 0.292 | 24.63 / 0.729 / 0.271 | 23.90 / 0.663 / 0.366 |
| MipNeRF360 室内 | PSNR/SSIM/LPIPS | 30.61 / 0.920 / 0.252 | 31.05 / 0.924 / 0.238 | 30.66 / 0.906 / 0.251 |
| T&T + DB | PSNR/SSIM/LPIPS | 26.45 / 0.879 / 0.286 | 26.65 / 0.876 / 0.263 | 19.20 / 0.590 / 0.543 |
| 场景组 | RM 光栅化 FPS | 3DGS FPS | RadFoam FPS | RM 光追 FPS |
| 室外 | 240 | 145 | 234 | 84 |
| 室内 | 384 | 251 | 162 | 190 |
| T&T + DB | 475 | 535 | 353 | — |
关键读数:在 T&T+DB 上 Radiant Foam 直接崩到 19.20 PSNR,Radiance Meshes 稳在 26.45——优化鲁棒性是它相对
Radiant Foam 最大的实绩。光追路比 RadFoam 快 17%。训练时间 RM 3.5–4.5h vs 3DGS ~0.5h vs RadFoam ~1.6h,
是明显短板。单卡容量 ~15M 四面体 vs RadFoam ~3.3M 细胞。
§14四面体白送的应用
- 鱼眼 / 镜头畸变:§6 的幂排序只依赖光线原点,任何共原点相机(含鱼眼)都正确,训练时就能用。
- 网格抽取:按峰值颜色贡献阈值(剔
<0.1)即可抽出水密的不透明三角网格,能直接拖进 Blender。
- 物理仿真:四面体网格天然适合 Position-Based Dynamics(PBD/XPBD),可交互形变。
- 编辑:四面体形变 = 场景编辑。
- 无 popping:幂排序保证精确可见性顺序,视角连续变化不跳变。
(注:论文未展示重光照 relighting;演示的应用是鱼眼、网格抽取、物理、编辑。)
§15后续与近邻
Radiance Meshes 才几个月(2025-12),引用集很小。诚实声明:下面每个 arXiv 编号我都逐一核对过 arXiv 页面确认存在。
真正"基于它的四面体表示往下做"的,目前确凿只有一篇;其余是外围引用或同期近邻,照实分层。
Tier 1 · 真正基于四面体表示的后续
SDFRaster
— Distance Field Rasterization for End-to-End Mesh Reconstruction
把体积四面体表示端到端变成干净、全局一致的表面网格,而不是事后跑一遍抽取。
关键想法:沿用 Radiance Meshes 的 Delaunay 四面体基底,但在四面体格上优化一个连续 SDF,
用 alpha 合成栅格化四面体,并把可微 Marching Tetrahedra 放进优化环里,直接端到端抽出表面网格。
它在参考文献里引用 Radiance Meshes(key radiancemeshes),但摘要主打 SDF+栅格化,未在摘要点名。
Radiance Meshes 的四面体装的是密度场(为渲染);SDFRaster 把它换成 SDF(为表面),转向端到端网格重建。
Tier 2 · 外围引用(引用它,但不基于其表示)
以下三篇在引用图谱里引了 Radiance Meshes,但摘要均未涉及四面体/Delaunay,多半是相关工作里的并列一引:
- Scalable GPU Voronoi/Power Diagrams(arXiv:2605.06408,Chalmers,2026-05)——
GPU 上构建大规模 Voronoi/power diagram,主题相邻(Delaunay 机器)但不是四面体辐射场的扩展。
- Neural Harmonic Textures(arXiv:2604.01204,NVIDIA/USI,2026-04)——
基于图元的高质量神经重建,把 RM 当相关工作引。
- NeRF vs Gaussian Splatting 几何精度评测(arXiv:2604.18205,2026-04)——
一篇基准评测,顺带引到 RM。
Tier 3 · 同期 / 近邻(不引用 RM,但同属三角/四面体图元)
- Radiant Foam(arXiv:2502.01157,ICCV 2025)——本方法对标的 Voronoi 版孪生兄弟。见
隔壁拆解。
- Tetrahedron Splatting / TeT-Splatting(arXiv:2406.01579,2024-06)——四面体格上做体渲染,用于 3D 生成,早于 RM。
- Triangle Splatting(arXiv:2505.19175,2025-05)——三角形图元实时辐射场,早于 RM。
§A还没解决的问题
- 训练慢。3.5–4.5 GPU·小时/场景,是 3DGS 的 ~7×、Radiant Foam 的 ~2–3×;每 10 步重建 Delaunay 是大头之一。
- 原始质量略输 3DGS。各项 PSNR/SSIM 仍稍低于 3DGS,差距虽小但一致。
- 哈希场 + 外心查询的开销。每四面体一次 Instant-NGP 查询,反传贵;不像 Radiant Foam 把参数直接挂在 site 上那么轻。
- 动态 / 4D / SLAM。截至 2026-06 没有可核实的时变版本;四面体物理仿真已展示,但联合重建+形变的 4D 还没人做。
- 训练超参不透明。论文正文未公开光度损失形式、各项权重、优化器、LR、总迭代数——要复现得读仓库默认值。
- 重光照。没有 relighting / 逆渲染分解;颜色是 SH 烘焙的外观,不是材质×光照。
总结一句话
Radiance Meshes 的全部聪明可以压成两句:(a) 把场景切成 Delaunay 四面体而不是 Voronoi 细胞——四面体只有 4 个三角面,
所以显卡的光栅化和光追两条管线都能精确画,再靠"外接球的幂"得到无 popping 的正确顺序;(b) 属性不存顶点、而是用哈希场在四面体
外心处查询——翻转时两外心相遇,于是拓扑离散跳变、场却连续可导。它是 Radiant Foam 的对偶版:用对偶结构换来了硬件友好与
优化鲁棒,代价是训练更慢。
§B名词表 · Glossary
| 术语 | 解释 |
| Delaunay 四面体剖分 | 把空间填满成四面体、满足"空外接球"性质;Voronoi 的对偶。 |
| 外心 circumcenter | 四面体外接球的球心;属性在此处查询,跨翻转连续。 |
| 外接球的幂 power | $P=\lVert\mathbb{O}-\mathbf{o}\rVert^2-\mathbb{R}^2$;排序键,给出正确前后序。 |
| 边翻转 / Pachner move | 顶点移动时 Delaunay 连接的离散突变。 |
| 分段常数密度 | 每个四面体内密度为常数,使体积分有闭式。 |
| 分段线性颜色 | 颜色在四面体内线性变化(基色 + 梯度),闭式要用入/出两端色。 |
| Instant-NGP 哈希场 | 多分辨率哈希网格,存外观/密度;在外心采样。 |
| Zip-NeRF 降权 | $\varphi=\mathrm{erf}(\cdot)$ 按尺度压高频哈希特征,稳住细长四面体。 |
| Cyrus–Beck 裁剪 | 光线对凸体(4 个面)求入/出参数的经典算法。 |
| gDel3D | GPU 上的 3D Delaunay 库;每 10 步重建一次剖分。 |
| Mesh shader | 现代 GPU 几何管线阶段;RM 最快的栅格化变体。 |
| Marching Tetrahedra | 从四面体标量场抽等值面网格;SDFRaster 用其端到端抽表面。 |
§C推荐阅读顺序
按理解台阶排,不按时间:
- NeRF 的体渲染那一节——确认 §2 那条积分在脑子里。
- 本页 §3 + Demo 1——先把"四面体 vs Voronoi、为什么三角形能栅格化"这件事玩明白。
- Radiant Foam 拆解——理解对偶的另一半,对比着看选型分歧。
- Radiance Meshes 正文 §3–§4(渲染)——配本页 §6/§7/§8 的排序 + 两条路读。
- 本页 §9 + Demo 3——外心连续性是它和 Radiant Foam 真正不同的可微性故事。
- 官方仓库
half-potato/radiance_meshes——把 §11/§12 的未公开超参对到 train.py 的 argparse 默认值。
- SDFRaster——看四面体基底怎么被接力到 SDF 表面重建。