实时光线追踪 1
最后更新于
最后更新于
Real-Time Ray Tracing
体积,散射,皮肤,毛发,将会在离线渲染的课上教
光线追踪实质上是做场景的 BVH 树的遍历
RTX 专门遍历树,GPU 遍历树较慢
100 亿跟光线每秒,约等于每帧每像素一条光线
sample per pixel,最基本的 spp 是两次弹射,四条光路
光路样本
1 rasterization primary
1 ray primary visibility
1 ray secondary bounce
1 ray secondary visibility
最基本的两次弹射光路
第一条 primary 等价于光栅化
1 SPP 看作 3 条光线对场景求交
实时光追也是使用 path Tracing,出现是因为 GPU RTX 架构
硬件的突破造成光追的广泛应用
降噪技术是配合光追的重要技术
实时光追目标
不模糊,没 Bug,具有细节,速度快
当前方法都不可能在短时间内实现
时间上的滤波,时间上的复用
认为前一帧已经滤波完毕
利用帧之间的连续性,认为前一帧的颜色输出可以对当前帧做重大贡献
Back projection 方法求 motion vector
取像素点的屏幕坐标
求像素点的世界坐标
取对应物体上一帧的变换矩阵
求像素点在上一帧的世界坐标
求像素点在上一帧的屏幕坐标
计算位移向量
motion vector 是准确的,不像深度学习的光流,只有图像信息,没有物体信息
也可以通过 z-buffer 里的深度信息求像素点的世界坐标
当前帧自己的降噪
和上一帧的输出 Color Buffer 线性混合
上一帧的权重为 80% ~ 90%
降噪前图片看起来暗
因为噪点亮度超过显示范围
整体图片的亮度期望降噪前后应当是相同的
对比真实图片,降噪会亮化 AO 信息
画面巨变,需要预热 burn-in period
换场景
镜头切换
屏幕外信息
看前方,倒着走
出现原本被遮挡的位置
容易出现残影(拖影、鬼影)
阴影出现滞后情况
反射也会出现滞后情况
任何与环境光相关的着色改变,都会出现滞后
因为在物体与环境光相对移动后,上一帧的像素着色和当前帧的输入已经是不同了,没有对当前帧贡献的意义
提高当前帧权重
是否应当废弃该位移向量