学习教程来自:【技术美术百人计划】图形 5.2 光线追踪、路径追踪、光线投射、光线步进介绍

笔记

1. 光线追踪 Ray Tracing

光栅化渲染:并行的按照物体->三角面->像素拆解每个对象,缺少全局信息,无法精确实现一些效果
光线追踪:一种渲染框架
采用路径追踪的光线追踪方法步骤为:从相机出发,对每个像素点,向场景投射光线,直到光线与场景中第一个物体相交,在交点处根据物体性质、光源属性和光照模型等计算这个交点的颜色。然后,在交点处,该光线发生反射或折射,继续遍历追踪反射光线和折射光线,直到光线与下一个表面相交,计算该交点的颜色。直到光线到达光源或逸出场景。

图片来自PPT

计算交点的方法:

  1. 曲面方程和射线方程方程组求解
  2. 计算射线与物体三角形面的交点
  3. 优化:包围盒,空隙使用空间划分优化(八叉树、KD树、BSP树)

2. 光线投射 Ray Casting

图片来自PPT
只考虑投射,不追踪后续 ## 3. 路径追踪 Path Tracing 一种光线追踪方法
图片来自PPT
出射光 = 自发光 + 半球上贡献的积分
一些常见问题的处理办法: 积分的求解:蒙特卡洛积分 光线数量:一个像素块多条光线,反射时只产生一条光线,最终混合这些结果
图片来自PPT

迭代终止:随机数法,每次迭代生成一个随机数决定是否继续
光源面积小:不在半球上采样,通过变化直接在光源上采样

完整步骤:从相机出发,对每个像素点,向场景投射光线,直到光线与场景中第一个物体相交,在交点处根据物体性质、光源属性和光照模型等计算这个交点的颜色。然后,在交点处,该光线发生反射或折射,继续遍历追踪反射光线和折射光线,直到光线与下一个表面相交,计算该交点的颜色。直到光线到达光源或逸出场景。

4. 体积光线投射 Volume Ray Casting

体绘式技术(Volume Rendering)

采样三维纹理并混合

5. 光线步进 Ray Marching

光线从起点步步前进,一步一计算直到终点

应用场景 起点 终点 方向
屏幕空间反射(SSR) 反射面上的被计算的点 反射光线与被反射对象表面的交点 根据反射面法线和视线方向计算的反射方向
时差贴图 视线和模型表面的交点 视线和偏移表面的交点 视线方向
体绘制 视点 视线和模型表面的交点 视线方向

6. 一些区别

递归式光线追踪(Whitted Style Ray Tracing):每个像素一条光线
路径追踪:每个像素多条光线

作业

分析光线追踪、路径追踪、光线投射、光线步进在游戏中有哪些技术应用,paper

游戏中的应用 以下截屏来自来自Xbox Series X和3060显卡(Mincraft)

1. 地平线5 Forza 5

2. 灵媒 The Medium

3. 我的世界 Minecraft

GTX off
RTX on

4. 黑客帝国觉醒 The Matrix Awakens

5. 食人鲨 Maneater

RTX off
RTX on
RTX off
RTX on