实时光线追踪 1
Real-Time Ray Tracing
- 体积,散射,皮肤,毛发,将会在离线渲染的课上教 
RTX
- 光线追踪实质上是做场景的 BVH 树的遍历 
- RTX 专门遍历树,GPU 遍历树较慢 
- 100 亿跟光线每秒,约等于每帧每像素一条光线 
SPP 光路样本
sample per pixel,最基本的 spp 是两次弹射,四条光路

- 光路样本 - 1 rasterization primary 
- 1 ray primary visibility 
- 1 ray secondary bounce 
- 1 ray secondary visibility 
 
- 最基本的两次弹射光路 
- 第一条 primary 等价于光栅化 
- 1 SPP 看作 3 条光线对场景求交 
Key technology 核心技术
- 实时光追也是使用 path Tracing,出现是因为 GPU RTX 架构 
- 硬件的突破造成光追的广泛应用 
- 降噪技术是配合光追的重要技术 
Denoising 降噪
goads
实时光追目标
- 不模糊,没 Bug,具有细节,速度快 
- 当前方法都不可能在短时间内实现 

Temporal
- 时间上的滤波,时间上的复用 
- 认为前一帧已经滤波完毕 
- 利用帧之间的连续性,认为前一帧的颜色输出可以对当前帧做重大贡献 
Back projection 方法求 motion vector

- 取像素点的屏幕坐标 
- 求像素点的世界坐标 
- 取对应物体上一帧的变换矩阵 
- 求像素点在上一帧的世界坐标 
- 求像素点在上一帧的屏幕坐标 
- 计算位移向量 
- motion vector 是准确的,不像深度学习的光流,只有图像信息,没有物体信息 
- 也可以通过 z-buffer 里的深度信息求像素点的世界坐标 
Temporal Accum Denoising
- 当前帧自己的降噪 
- 和上一帧的输出 Color Buffer 线性混合 
- 上一帧的权重为 80% ~ 90% 

滤波效果
- 降噪前图片看起来暗 
- 因为噪点亮度超过显示范围 
- 整体图片的亮度期望降噪前后应当是相同的 
- 对比真实图片,降噪会亮化 AO 信息 
Temporal Failure 时间方法的缺陷
- 画面巨变,需要预热 burn-in period - 换场景 
- 镜头切换 
 
- 屏幕外信息 - 看前方,倒着走 
 
- 出现原本被遮挡的位置 - 容易出现残影(拖影、鬼影) 
 
- 阴影出现滞后情况 
- 反射也会出现滞后情况 - 任何与环境光相关的着色改变,都会出现滞后 
- 因为在物体与环境光相对移动后,上一帧的像素着色和当前帧的输入已经是不同了,没有对当前帧贡献的意义 
 
Adjustments to temporal failure
- 提高当前帧权重 
- 是否应当废弃该位移向量 
最后更新于
这有帮助吗?
