学习教程来自:【技术美术百人计划】图形 5.2 光线追踪、路径追踪、光线投射、光线步进介绍
笔记
1. 光线追踪 Ray Tracing
光栅化渲染:并行的按照物体->三角面->像素拆解每个对象,缺少全局信息,无法精确实现一些效果
光线追踪:一种渲染框架
采用路径追踪的光线追踪方法步骤为:从相机出发,对每个像素点,向场景投射光线,直到光线与场景中第一个物体相交,在交点处根据物体性质、光源属性和光照模型等计算这个交点的颜色。然后,在交点处,该光线发生反射或折射,继续遍历追踪反射光线和折射光线,直到光线与下一个表面相交,计算该交点的颜色。直到光线到达光源或逸出场景。
计算交点的方法:
- 曲面方程和射线方程方程组求解
- 计算射线与物体三角形面的交点
- 优化:包围盒,空隙使用空间划分优化(八叉树、KD树、BSP树)
2. 光线投射 Ray Casting
迭代终止:随机数法,每次迭代生成一个随机数决定是否继续
光源面积小:不在半球上采样,通过变化直接在光源上采样
完整步骤:从相机出发,对每个像素点,向场景投射光线,直到光线与场景中第一个物体相交,在交点处根据物体性质、光源属性和光照模型等计算这个交点的颜色。然后,在交点处,该光线发生反射或折射,继续遍历追踪反射光线和折射光线,直到光线与下一个表面相交,计算该交点的颜色。直到光线到达光源或逸出场景。
4. 体积光线投射 Volume Ray Casting
体绘式技术(Volume Rendering)
5. 光线步进 Ray Marching
光线从起点步步前进,一步一计算直到终点
应用场景 | 起点 | 终点 | 方向 |
---|---|---|---|
屏幕空间反射(SSR) | 反射面上的被计算的点 | 反射光线与被反射对象表面的交点 | 根据反射面法线和视线方向计算的反射方向 |
时差贴图 | 视线和模型表面的交点 | 视线和偏移表面的交点 | 视线方向 |
体绘制 | 视点 | 视线和模型表面的交点 | 视线方向 |
6. 一些区别
递归式光线追踪(Whitted Style Ray Tracing):每个像素一条光线
路径追踪:每个像素多条光线
作业
分析光线追踪、路径追踪、光线投射、光线步进在游戏中有哪些技术应用,paper
游戏中的应用 以下截屏来自来自Xbox Series X和3060显卡(Mincraft)