Games202Lecture 6 Real-time Environment Mapping

RTRT

RTRT(real time ray tracing): path tracing+denoising

PRT

PRT (Precomputed radiance transfer):离线预计算,运行时快速内积。

  1. 预计算(Offline Precomputation):

    • 传输函数(Transfer Function):PRT 的核心思想是预计算物体表面对光照的响应。传输函数描述了光线如何从环境光照射到物体表面,并经过多次反射、折射等相互作用后最终到达观察者。这个函数通常依赖于物体的几何形状、材质属性(如漫反射、镜面反射)以及环境光的分布。

    • 球谐函数(Spherical Harmonics, SH)或 Wavelets:为了高效存储和计算这些复杂的传输数据,PRT 使用球谐函数或小波(Wavelets)等数学工具来压缩数据。球谐函数特别适合表示低频的光照变化,而小波则更适合高频细节。通过压缩,传输数据可以在运行时快速访问和计算。

  2. 运行时(Real-Time Rendering):

    • 环境光照与传输函数的结合:在运行时,PRT 通过将预计算的传输函数与当前的环境光照进行快速 计算【将**传输函数的系数向量**与**环境光的系数向量**进行内积(Dot Product)】 ,近似计算出全局光照效果。由于传输函数已经预计算并压缩,运行时计算可以非常高效。

    • 动态环境光变化:PRT 适用于动态环境光变化的场景,因为环境光的变化可以通过简单的数学运算(如球谐系数的更新)来反映。然而,PRT 通常不适用于大规模的几何变形(如物体的形状发生显著变化),因为传输函数是基于预计算的几何形状和材质属性,几何变形会导致预计算的数据失效。

傅里叶变换

时域和频域

相位

球谐函数(SH)

一些观察:(L代表阶数,每阶有2L+1个不同的基函数(编号-L...0...L),前n阶有n²个,参数量为n²)
基函数长这样

球谐函数类似于傅里叶级数 以sin和cos为基函数拟合出不同的周期函数

用于球面上的基函数,去拟合球面上随位置变换的离散的值
r=f(θ,φ)(球谐函数与r无关)

3D Gaussian Splatting原理速通(二)--球谐函数作用

用4阶函数做加权求和

作用1:[图左】在不同角度看高斯点云呈现不同颜色和光泽

作用2:地球重力场的模拟,看到不同位置重力的表达,测量离散的数据然后用SH去拟合。

RECALL

Diffuse BRDF基本只有低频信息(diffuse球不会反射出特别复杂的光照)

BRDF的频率可以用前三阶描述

近似光照👇

相关推荐
Uzuki13 天前
自动驾驶 | 为CarLA添加一辆小米SU7 Part I
自动驾驶·游戏开发·图形学
XZen18 天前
Shadertoy转传统技术实现程序化星球纹理
图形学
李斯维1 个月前
深度解析 Android Matrix 变换(二):组合变换 pre、post
android·canvas·图形学
李斯维1 个月前
深入理解 Android Canvas 变换:缩放、旋转、平移全解析(一)
android·canvas·图形学
Uzuki2 个月前
Vulkan环境配置 | vscode+msvc 解决方案
vscode·游戏开发·图形学·c/c++
白鹭float.3 个月前
【OpenGL/Assimp】渲染模型、半透明材质与封装光源
c++·图形学·opengl·assimp
白鹭float.3 个月前
【OpenGL/C++】面向对象扩展——测试环境
c++·图形学·opengl
三翼鸟数字化技术团队4 个月前
模型工作流:自动化的模型内部三角面剔除
计算机图形学·图形学
ttod_qzstudio4 个月前
Unity中Mesh重叠顶点合并参考及其应用
unity·图形学