新闻

光线追踪 vs. 路径追踪 vs. 光栅化

栅格化是视频游戏中用于实时渲染的主要技术。尽管越来越多地使用光线追踪进行照明,但光栅化仍用于渲染 大部分场景。栅格化更快、更高效,并且通常会产生近乎真实的结果,但需要注意一些。让我们看看这两种渲染技术,包括它们的优点和缺点。

什么是栅格化?

栅格化包括将 3D 场景转换为 2D 图像,渲染从视口透视图可见的对象,并丢弃其余对象。3D 空间中的对象由三角形组成,这些 三角形被转换为点(像素),根据前者的纹理、照明和其他材质数据进行着色。

分步栅格化

  • 3D 场景和三角形
    • 3D 场景由由三角形(称为多边形)组成的对象组成。
    • 每个三角形都有 3D 坐标 (x, y, z) 来传递它在场景中的确切位置。
  • 3D 到 2D
    • 3D 坐标将转换为 2D 点,将屏幕用作 POV 画布。
    • 这些点指示屏幕上每个三角形的位置。
    • 绘制最靠近屏幕的三角形,而隐藏的三角形被剔除。
  • 三角形到像素
    • 三角形叠加在像素上,此时称为片段。
    • 覆盖三角形的片段(通常为 50% 或更多)会相应地着色。
  • 片段着色
    • 每个像素的最终颜色是使用应用于片段的材质、光照、纹理和特殊效果计算的。

什么是光线追踪?

光栅化采用一系列巧妙的技巧以 2D 形式渲染 3D 场景,而光线追踪则试图模仿光线及其自然属性。光线追踪涉及通过每个屏幕像素 投射 光线并对相交表面 进行采样 。命中点有助于确定 像素的颜色。

采用现代光线跟踪技术来计算场景照明。此 混合光线跟踪 管道包括两个主要步骤:

BVH 测试:光芒队在哪里终止?

Bounding Volume Hierarchy 有助于确定场景中光线的确切 交点 。它将几何体包裹在称为边界体积的框中。这些框按 层次结构 或树进行组织,较大的框依次打包较小的框。

  • 包含连续较小框的大框称为顶级加速结构 ( TLAS )。
  • 最低层包含三角形或多边形的框称为 底层 加速结构 (BLAS)。
  • 当光线进入场景时,会针对 较大的框对其进行测试。
    • 命中后,会测试其中 较小的框
    • 每次点击都会延长进程,直到 BLAS 中的 三角形 相交。
  • 如果光线未能击中多边形,则像素(通常)渲染为黑色。
  • 命中点确定光线来源的像素的颜色。

Hit Point Shading(生命值点着色)

确定命中点后,必须计算 像素颜色 。它取决于表面属性(平滑度/粗糙度)、纹理、反射指数、透明度和 照明

光线追踪
  • 阴影 和漫射照明是通过从命中点向环境光源发射第二条光线来计算的。
  • 如果光线被表面阻挡,则该点将被遮挡。否则,它就会亮起来。
  • 反射光线 是从有光泽的表面投射而来的。它们在表面之间反弹,直到到达光源,在原始命中点反射它们。

什么是路径追踪?

路径追踪被认为是 3D 计算机图形学的圣杯。要了解其工作原理,我们需要回到光线追踪:

  • 光线追踪涉及将光线投射到像素中,目的是模仿真实光线并沿光线求解 渲染方程
  • 但是,由于光线的行为具有无限复杂的特性,因此结果 并不完美

路径追踪使用 Monte Carlo 方法,该方法使用随机采样来近似光线的 路径 和行为:

  • 与光线追踪不同,路径追踪将每个像素的 多条光线 投射到屏幕中。
  • 相交时,将收集表面数据,并根据命中点的材质属性重定向光线。
  • 每次反射 都会产生最终像素颜色,从而模拟全局照明、光渗出和多次反射漫射照明。
  • 光线追踪通常在第一次命中后 终止
雷神之锤 2

每条光线的发送方向略有不同。这称为 随机抽样。随着每个像素的光线计数的增加,光线的路径和光照变得越来越准确。

  • 每条光线使用 Monte Carlo 随机化对可能的光路进行采样。
  • 使用 Importance Sampling,光线会偏向潜在的光源。
  • 因此,我们得到了更多有用的光线和更少的空结果。

使用 ReSTIR 进行路径追踪

每个像素投射多条光线的成本很高。因此,游戏在空间和时间上重用光照样本以提高质量和性能。ReSTIR 或 基于储藏层的时空重要性重采样 就是这样一种解决方案:

  • 沿着 可能贡献的 光源通过每个像素跟踪一两条光线。
  • 将结果及其相关性存储在 reservoir (data structure) 中。
  • 对下一帧重复该过程并增加 储液槽 大小。
  • 检查 相邻 像素以获得高质量的样本。
  • 从空间和时间库中选择最佳样本来 对像素进行着色

Areej Syed

Processors, PC gaming, and the past. I have been writing about computer hardware for over seven years with more than 5000 published articles. Started off during engineering college and haven't stopped since. Find me at HardwareTimes and PC Opset.
Back to top button