xiaohack's Blog - 实时光线追踪
type: channel
link: https://blog.xiaohack.org/tag/33e32b88-30bdd5/
items: 科普 | 高帧率、好画质的「光追」是如何实现的？

科普 | 高帧率、好画质的「光追」是如何实现的？
type: item
date: 2026-01-16T14:15:30+08:00
description: 除了与赛博朋克、公司殖民主义、边缘行者等名词高度绑定，现在当我们提起《赛博朋克 2077》这款游戏，出现在很多人还脑海里的自然也有 CDPR 借助光线追踪、DLSS 等技术在其 RED 引擎中所打造的未来城市「夜之城」。2.01 版本开启超速模式和光线重建后的效果，DLSS 设置为「均衡」在 RTX 50 系列显卡推出后，《赛博朋克 2077》也带来了支持最新的 DLSS 技术的 2.21 版本。从一卡难求到如今支持最新技术的游戏作品井喷，「光追」也从早年少数游戏和玩家才能享受的前沿体验变成了 3A 大作不可或缺的「点睛之笔」。那光追、DLSS、帧生成等技术是如何提升游戏体验的？它的出现改变了什么，又解决了哪些问题？注：本文为《升级「真香」的 RTX 30 系显卡后，你能得到什么？》一文的更新内容，原文部分信息已过时。传统游戏的光照如何实现我们所能看见的、五彩斑斓的世界，本质上是因为光在传播中遇到了组成这个世界的、不同材质的物体。光线在这些物体上反射、折射、漫反射、散射……经过不同的光学现象加工之后，特定的光线最终到达人眼，经视网膜感光细胞的处理，我们才得以看到不同颜色的物体。这种原理会带来一些很有意思的变化，比如不同材质的物体从相同角度来看观感不同，相同材质从不同角度看过去的感觉也不一样；在光线很暗的时候，我们自然也很难看清东西。真实环境的光线远比游戏复杂 | 图片自 @unsplash但同样的「观感」放在游戏世界，所采取的呈现方式则截然不同。在光线追踪技术出现之前，传统的游戏设计在重现光照效果时往往只能从「最终效果」出发，为玩家呈现不同光照环境下，游戏世界所呈现出来的最终效果。具体的实现原理很好理解：首先，现代 3D 模型实际上都是通过三角形构成的1，三角形的面数决定了模型的精细程度，模型精度越高，三角形数目也就越多，性能开销也就越大。由三角形构成的模型，越复杂的模型也越精细这些三角形要显示在我们的电脑屏幕上，还需要经过「光栅化」，即先将三角形用近似连点描边的方式转化成屏幕上的像素2，然后对三角形内部的像素进行上色，同时判断三角形哪些部分被前面其他三角形遮挡了，被遮挡的部分也无需上色，减少不必要的性能开销。光栅化工作原理游戏里的光照效果实现，也是在「光栅化」这个过程里完成的——只需要对三角形内部的像素进行额外的上色步骤即可：模型的三角形都有对应的固有颜色（皮肤有固有的肤色、头发有固有的发色），所以将模型转化到二维像素以后，可以通过每个三角形的颜色为每个屏幕上的像素分配一个初始颜色值。接下来要根据场景里的其他光源来进一步的像素处理来改变像素的颜色，最后还需要根据纹理（皮革有皮革的纹理，布料有不同的材质）对像素做最后的处理，进而生成应用于像素的最终颜色。所以基于光栅化的游戏光线处理，更像是一种对光照结果的「描绘」而非对光照过程的还原。你看到的画面可以被理解为在自行发光，而不是和生活中一样通过折射、反射等手段传递光线。这也就是我们在上面所说的以渲染「最终效果」为主要手段。光栅化的优点在于可以足够快，程序员可以预先写好光线的程序来处理小面积的光线，还可以制作光照贴图，在需要的时候和环境再进行渲染呈现（静态光照效果）来减少处理压力；但是缺点也很明显：不够真实，比方说游戏中的物体投影大部分时候都是一整块颜色相同的区域（阴影贴图），但是我们仔细观察生活会发现由于光的复杂性实际上的投影由近到远是越来越浅的。投影和更接近真实的投影 图片来自 unreal 引擎官网更多关于光栅化不够真实的更多例子可以看这里。光线追踪提供的逆向解法相比之下，实时光线追踪可以营造更加真实的光照效果，它通过逆向「追踪」与假想照相机镜头（也就是玩家的「眼睛」或者观察点位置）相交的光作为工作原理，来实现对光线的实时追踪。之所以反其道而行之，除了光沿直线传播、入射角等于反射角等基本光学原理外，更重要的原因是逆向追踪比真实地模拟光线相互作用的效率要高很多——大部分的光经过多次反射会逐渐消失，最后也不会进入眼睛。减少不必要的模拟会让最后的计算压力小很多。通过逆向追踪实现的实时光线追踪实时光线追踪技术最终的产物，大家或多或少早在游戏内容外也都接触过了：电影院里的好莱坞大片在特效制作过程中经常会用到光线追踪技术来生成以假乱真的特效场景，这背后往往需要以亿为单位的庞大运算量，每一帧的画面都需要高性能计算机花费数小时的运算——而这还是在提前设计好了场景和环境光线的前提下，游戏的随机性更大，实时光线追踪的实现难度自然也更高。所以该如何把光线追踪引入到游戏中呢？2018 年，英伟达发布了第一张支持光线追踪技术 RTX 20 系列显卡，RTX 20 系列中搭载了几组专门的 RT Core 来加速逆向追踪光线的过程，比起 GTX 10 系列，RT Core 在实时光线追踪这件事情上拥有更好…

科普 | 高帧率、好画质的「光追」是如何实现的？
type: item
date: 2026-01-15T15:31:18+08:00
description: 除了与赛博朋克、公司殖民主义、边缘行者等名词高度绑定，现在当我们提起《赛博朋克 2077》这款游戏，出现在很多人还脑海里的自然也有 CDPR 借助光线追踪、DLSS 等技术在其 RED 引擎中所打造的未来城市「夜之城」。2.01 版本开启超速模式和光线重建后的效果，DLSS 设置为「均衡」在 RTX 50 系列显卡推出后，《赛博朋克 2077》也带来了支持最新的 DLSS 技术的 2.21 版本。从一卡难求到如今支持最新技术的游戏作品井喷，「光追」也从早年少数游戏和玩家才能享受的前沿体验变成了 3A 大作不可或缺的「点睛之笔」。那光追、DLSS、帧生成等技术是如何提升游戏体验的？它的出现改变了什么，又解决了哪些问题？注：本文为《升级「真香」的 RTX 30 系显卡后，你能得到什么？》一文的更新内容，原文部分信息已过时。传统游戏的光照如何实现我们所能看见的、五彩斑斓的世界，本质上是因为光在传播中遇到了组成这个世界的、不同材质的物体。光线在这些物体上反射、折射、漫反射、散射……经过不同的光学现象加工之后，特定的光线最终到达人眼，经视网膜感光细胞的处理，我们才得以看到不同颜色的物体。这种原理会带来一些很有意思的变化，比如不同材质的物体从相同角度来看观感不同，相同材质从不同角度看过去的感觉也不一样；在光线很暗的时候，我们自然也很难看清东西。真实环境的光线远比游戏复杂 | 图片自 @unsplash但同样的「观感」放在游戏世界，所采取的呈现方式则截然不同。在光线追踪技术出现之前，传统的游戏设计在重现光照效果时往往只能从「最终效果」出发，为玩家呈现不同光照环境下，游戏世界所呈现出来的最终效果。具体的实现原理很好理解：首先，现代 3D 模型实际上都是通过三角形构成的1，三角形的面数决定了模型的精细程度，模型精度越高，三角形数目也就越多，性能开销也就越大。由三角形构成的模型，越复杂的模型也越精细这些三角形要显示在我们的电脑屏幕上，还需要经过「光栅化」，即先将三角形用近似连点描边的方式转化成屏幕上的像素2，然后对三角形内部的像素进行上色，同时判断三角形哪些部分被前面其他三角形遮挡了，被遮挡的部分也无需上色，减少不必要的性能开销。光栅化工作原理游戏里的光照效果实现，也是在「光栅化」这个过程里完成的——只需要对三角形内部的像素进行额外的上色步骤即可：模型的三角形都有对应的固有颜色（皮肤有固有的肤色、头发有固有的发色），所以将模型转化到二维像素以后，可以通过每个三角形的颜色为每个屏幕上的像素分配一个初始颜色值。接下来要根据场景里的其他光源来进一步的像素处理来改变像素的颜色，最后还需要根据纹理（皮革有皮革的纹理，布料有不同的材质）对像素做最后的处理，进而生成应用于像素的最终颜色。所以基于光栅化的游戏光线处理，更像是一种对光照结果的「描绘」而非对光照过程的还原。你看到的画面可以被理解为在自行发光，而不是和生活中一样通过折射、反射等手段传递光线。这也就是我们在上面所说的以渲染「最终效果」为主要手段。光栅化的优点在于可以足够快，程序员可以预先写好光线的程序来处理小面积的光线，还可以制作光照贴图，在需要的时候和环境再进行渲染呈现（静态光照效果）来减少处理压力；但是缺点也很明显：不够真实，比方说游戏中的物体投影大部分时候都是一整块颜色相同的区域（阴影贴图），但是我们仔细观察生活会发现由于光的复杂性实际上的投影由近到远是越来越浅的。投影和更接近真实的投影 图片来自 unreal 引擎官网更多关于光栅化不够真实的更多例子可以看这里。光线追踪提供的逆向解法相比之下，实时光线追踪可以营造更加真实的光照效果，它通过逆向「追踪」与假想照相机镜头（也就是玩家的「眼睛」或者观察点位置）相交的光作为工作原理，来实现对光线的实时追踪。之所以反其道而行之，除了光沿直线传播、入射角等于反射角等基本光学原理外，更重要的原因是逆向追踪比真实地模拟光线相互作用的效率要高很多——大部分的光经过多次反射会逐渐消失，最后也不会进入眼睛。减少不必要的模拟会让最后的计算压力小很多。通过逆向追踪实现的实时光线追踪实时光线追踪技术最终的产物，大家或多或少早在游戏内容外也都接触过了：电影院里的好莱坞大片在特效制作过程中经常会用到光线追踪技术来生成以假乱真的特效场景，这背后往往需要以亿为单位的庞大运算量，每一帧的画面都需要高性能计算机花费数小时的运算——而这还是在提前设计好了场景和环境光线的前提下，游戏的随机性更大，实时光线追踪的实现难度自然也更高。所以该如何把光线追踪引入到游戏中呢？2018 年，英伟达发布了第一张支持光线追踪技术 RTX 20 系列显卡，RTX 20 系列中搭载了几组专门的 RT Core 来加速逆向追踪光线的过程，比起 GTX 10 系列，RT Core 在实时光线追踪这件事情上拥有更好…