现代 AAA 游戏使用的渲染技术简表
作者:Oleg Sidorkin,Cinevva CTO 兼联合创始人

如果拆开一款 2026 年 AAA 游戏的渲染管线,你会发现其中大部分内容都可以追溯到一小组各大工作室普遍采用的技术。不同引擎中的名称可能不同,但背后的理念相同。下面简要列出真正负责生成画面效果的技术,每项技术都配有示意图和几份深入的技术参考资料。我在 2026 年 9 月更新了本文,加入了 Unreal Engine 5.8 的变化、如今已能在浏览器中运行的技术,并在末尾新增了一组常见问题。
1. 基于物理的渲染(PBR)
材质由反照率、粗糙度、金属度、法线和环境光遮蔽纹理描述,并通过遵循能量守恒的着色器进行光照计算(Cook-Torrance 镜面反射、Lambert 或 Disney 漫反射)。这是所有现代 AAA 引擎默认采用的基础。如果一个表面在阳光、灯光和手电筒照射下都能保持一致的观感,这正是 PBR 的功劳。

深入资料:
- Burley,Disney 的基于物理着色(最初的“Disney BRDF”课程讲义,SIGGRAPH 2012)。
- Karis,Unreal Engine 4 中的真实着色(SIGGRAPH 2013,经典的 UE4 PBR 演讲)。
- Lagarde 和 de Rousiers,将 Frostbite 迁移至基于物理的渲染 3.0(SIGGRAPH 2014,完整的 Frostbite 管线)。
- 《实时渲染》第 4 版,第 9 章(教科书级参考资料)。
2. 延迟着色与可见性缓冲区着色
几何体首先将属性(法线、材质 ID、深度)写入 G-buffer 或可见性缓冲区。随后,光照以全屏通道运行,读取这些缓冲区并对每个像素着色一次。可见性缓冲区(Nanite 及类似技术所采用)更进一步:它只存储三角形 ID,稍后再逐像素解析材质参数,从而降低高密度几何体中重复绘制的成本。

深入资料:
- Engel,延迟着色(NVIDIA,奠基性演讲)。
- Burns 和 Hunt,可见性缓冲区:一种缓存友好的延迟着色方法(JCGT 2013,最初的可见性缓冲区论文)。
- Wihlidal,“使用计算着色优化图形管线”(GDC 2016,Frostbite 基于计算着色的延迟渲染路径)。
- Karis、Stubbe、Wihlidal,深入解析 Nanite 虚拟化几何体(SIGGRAPH 2021,包含对 Nanite 可见性缓冲区的详细介绍)。
3. 虚拟化几何体(Nanite 风格)
网格会预先构建为簇层次结构。运行时,GPU 会流式加载并选择与每个像素分辨率相匹配的簇,因此无需手动制作 LOD 即可获得精确到亚像素级的细节。Unreal 的 Nanite 是其中最广为人知的例子,其他引擎如今也提供了各自的实现。实际效果是:无需制作 LOD,便可实时使用电影级资产。2026 年 6 月发布的 Unreal Engine 5.8 提升了 Nanite 在掌机平台上的光栅化与剔除性能,并为植被添加了逐像素可编程距离控制,详见 Tom Looman 的 5.8 性能说明。Epic 还表示,5.8 将是开发工作转向 Unreal Engine 6 之前的最后一个 5.x 版本。

深入资料:
- Karis、Stubbe、Wihlidal,深入解析 Nanite 虚拟化几何体(SIGGRAPH 2021)。
- Brian Karis,Nanite GDC 2021 演讲(易于理解的视频讲解)。
- Liktor,Activision 的几何体渲染管线架构(基于簇的渲染,2021)。
- Schied 等人,时空方差引导滤波(相关的簇剔除技术)。
4. 用于阴影、反射和 AO 的实时光线追踪
硬件光线追踪(DXR、Vulkan RT)会针对每帧构建的 BVH,追踪阴影光线、镜面与光泽反射光线,以及环境光遮蔽光线。即使每个像素只有几条光线,也能超越屏幕空间技术,尤其是在处理屏幕外反射和接触阴影时。大多数游戏只会有针对性地使用它,而不是将其用于所有效果。

深入资料:
- Microsoft,DirectX Raytracing(DXR)功能规范(API 参考资料)。
- Wyman,DirectX Raytracing 入门(SIGGRAPH 课程讲义,非常易懂)。
- Boksansky 和 Marrs,《光线追踪精粹 II》第 17–19 章(免费 PDF,现代 DXR 技术)。
- Stachowiak,随机屏幕空间反射(Frostbite,从 SSR 过渡到 RT 的桥梁)。
5. 软件光线追踪(Lumen 风格)
并非每位玩家都拥有 RTX 显卡,因此引擎也会提供距离场或表面缓存回退方案。例如,Unreal 的 Lumen 会针对有符号距离场和表面缓存执行追踪,以低成本实现漫反射全局光照,并且只在必要时升级到硬件光线追踪。这正是 AAA 游戏能在主机上实现“光线追踪观感”的方式。根据 CG Channel 对 5.8 的概述,UE 5.8 新增了“Lumen Lite”模式,其速度约为 Lumen 高质量路径的两倍,目标是在 PlayStation 5 上达到 60 fps;同时还将随机多光源系统 MegaLights 提升为生产就绪状态。

深入资料:
- Wright 等人,Lumen:Unreal Engine 5 中的实时全局光照(SIGGRAPH 2022,Lumen 论文)。
- Epic Games,Lumen 技术细节(官方引擎文档)。
- Wright,用于实时全局光照的辐射度缓存(SIGGRAPH 2021)。
- Wright,Lumen GDC 2022 演讲(视频版本)。
6. ReSTIR 与蓄水池采样
面对包含数千个光源的直接和间接光照,ReSTIR(蓄水池时空重要性重采样)会跨像素和帧复用光照样本。正因如此,《赛博朋克 2077》等采用路径追踪的游戏才能在每个像素仅使用一两条光线时,将噪点保持在较低水平。随着路径追踪成为高端画质目标,预计会有更多引擎采用这项技术。

深入资料:
- Bitterli 等人,用于动态直接光照实时光线追踪的时空蓄水池重采样(SIGGRAPH 2020,最初的 ReSTIR 论文)。
- Ouyang 等人,ReSTIR GI:用于实时路径追踪的路径重采样(HPG 2021,间接光照 ReSTIR)。
- Lin 等人,广义重采样重要性采样(SIGGRAPH 2022,数学基础)。
- NVIDIA,《赛博朋克 2077》路径追踪技术深度解析(工程技术博客)。
7. 体积云、雾与大气
天空通过 3D 噪声和密度体积进行光线步进。大气使用预计算的散射查找表(Bruneton 风格)来处理太阳和月亮之间的过渡。雾则采用 froxel 网格(可以将其理解为与视锥体对齐的 3D 纹理)来捕捉局部光照。它们共同带来了“系统化天气”,而不再只是一个天空盒。

深入资料:
- Schneider,《地平线:零之曙光》的实时体积云景观(SIGGRAPH 2015,经典的云渲染参考资料)。
- Hillaire,一种可扩展且适用于生产环境的天空与大气渲染技术(EGSR 2020,UE5 所采用的现代 Bruneton 后继方案)。
- Wronski,体积雾:基于统一计算着色器的大气散射解决方案(SIGGRAPH 2014,《刺客信条 4》的 froxel 雾)。
- Hillaire,Frostbite 中基于物理且统一的体积渲染(SIGGRAPH 2015)。
8. 级联阴影贴图与虚拟阴影贴图
对于太阳阴影,级联阴影贴图会将视锥体划分为多个距离范围,并以适合各范围的分辨率进行渲染。虚拟阴影贴图则更进一步:它会将一张巨大的阴影贴图拆分为多个页面,只渲染摄像机可见的页面。AAA 游戏正是借此在不产生巨额显存开销的情况下,让玩家附近的阴影保持清晰。Epic 的 VSM 文档指出,每个光源的虚拟分辨率为 16k × 16k。根据 Tom Looman 的说明,UE 5.8 还新增了预滤波远距离路径,以低得多的分辨率将远处的阴影投射物绘制到裁剪贴图中,并增加了页面失效限流机制。

深入资料:
- Dimitrov,级联阴影贴图(NVIDIA 白皮书,标准参考资料)。
- Microsoft,改善阴影深度贴图的常用技术(DirectX 文档)。
- Wright,《堡垒之夜:空降行动》第 4 章中的虚拟阴影贴图(SIGGRAPH 2023,UE5 VSM 演讲)。
- Epic Games,虚拟阴影贴图文档。
9. 屏幕空间效果(SSAO、SSR、SSGI、SSSSS)
通过低成本读取深度和法线缓冲区,可以实现环境光遮蔽(SSAO)、反射(SSR)、单次反弹全局光照(SSGI),以及用于皮肤的次表面散射(SSSSS)。它们无法获取屏幕外的细节,这也是光线追踪逐渐取而代之的原因,但作为快速的基础方案,它们至今仍无处不在。
深入阅读: - Mittring,[探索次世代:CryENGINE 2](https://www.crytek.com/wp-content/uploads/Finding%20Next%20Gen%20-%20CryEngine%202.pdf)(SIGGRAPH 2007,最初提出 SSAO 的论文)。 - McGuire 等,[可扩展环境光遮蔽](https://research.nvidia.com/publication/scalable-ambient-obscurance)(HPG 2012,现代 SSAO)。 - Stachowiak 和 Uludag,[随机屏幕空间反射](https://www.ea.com/frostbite/news/stochastic-screen-space-reflections)(Frostbite,SSR 的参考资料)。 - Jimenez,[可分离次表面散射](https://www.iryoku.com/separable-sss/)(大多数 AAA 引擎用于皮肤渲染的技术)。 - Mara 等,[深度屏幕空间](https://research.activision.com/publications/2016/09/deep-g-buffers-for-stable-global-illumination-approximation)(Activision,SSGI 技术脉络之一)。 10. 时间抗锯齿与机器学习超分辨率(DLSS、FSR、XeSS)
画面先以较低的内部辨率渲染,再利用运动矢量、深度和历史帧进行重建。基于机器学习的超分辨率技术(DLSS 4、FSR 4、XeSS)还加入了帧生成,通过光流插值生成中间帧。AMD 的 FSR「Redstone」在 FSR 4 的基础上增加了机器学习帧生成、光线再生以及面向 RDNA 4 硬件的神经辐射缓存。这是超分辨率与降噪正在融合为同一个神经网络阶段的最明确信号。如今,大多数 AAA 游戏发布时都默认玩家会开启超分辨率功能,这改变了整个帧预算的分配方式。

深入阅读:
- Karis,高质量时间超采样(SIGGRAPH 2014,经典 TAA 演讲)。
- Salvi,时间超采样探索(NVIDIA,介绍通往 DLSS 的技术路线)。
- Edelsten,真正的次世代:将深度学习引入游戏与图形(GDC 2019,DLSS 架构)。
- AMD,FidelityFX Super Resolution 3 技术细节;Intel,XeSS 技术论文。
11. GPU 驱动渲染与网格着色器
剔除、LOD 选择和绘制提交全部在 GPU 上运行。网格着色器用更灵活、类似计算着色器的阶段取代顶点、几何和曲面细分流水线,并由其输出网格簇。结合多重间接绘制后,可以让 CPU 完全退出逐对象的性能热点循环。

深入阅读:
- Haar 和 Aaltonen,GPU 驱动渲染流水线(SIGGRAPH 2015,具有奠基意义的《刺客信条:大革命》演讲)。
- Wihlidal,使用计算着色器优化图形流水线(GDC 2016,Frostbite 的 GPU 驱动剔除)。
- Kubisch,Turing 网格着色器简介(NVIDIA,网格着色器入门资料)。
- Pesce,网格着色器快速导览(以及 Adrian Courrèges 的 RenderDoc 拆解文章收录的类似工程博客)。
12. 毛发、布料与皮肤渲染
毛发使用 Marschner 风格的各向异性着色和基于发丝的几何体(NVIDIA HairWorks、AMD TressFX 或引擎原生系统)。布料通过基于位置的动力学在 GPU 上模拟,并使用各向异性高光进行渲染。皮肤则使用屏幕空间次表面散射和预积分包裹光照。这三项通常最能显现 AAA 游戏与独立游戏之间的预算差距。

深入阅读:
- Marschner 等,人类毛发纤维的光散射(SIGGRAPH 2003,奠基性的毛发模型)。
- Chiang 等,用于生产级路径追踪的实用可控毛发模型(Disney 2016,广泛用于实时近似)。
- Müller 等,基于位置的动力学(标准布料模拟参考资料)。
- Jimenez 等,可分离次表面散射和实时逼真皮肤透光效果。
13. 贴花、虚拟纹理与材质分层
表面变化来自投射到深度缓冲区上的分层贴花(弹孔、泥土、血迹、污垢),以及按需即时流式传输高分辨率细节的虚拟纹理。材质分层使用遮罩和三平面投影,在每个像素上混合多套 PBR 材质,这就是让一块岩石看起来像五种不同岩石的办法。

深入阅读:
- Pranckevičius,延迟贴花及后续文章(Aras 的经典博客系列)。
- Mittring,《虚幻引擎 4 Elemental 演示》背后的技术(SIGGRAPH 2012,包含虚拟纹理细节)。
- van Waveren,id Tech 5 的挑战:从纹理虚拟化到大规模并行化(SIGGRAPH 2009,MegaTexture 演讲)。
- Williams,《教团:1886》中的材质分层(GDC 2014,分层 PBR 材质)。
14. 顺序无关透明
毛发、植被、粒子和玻璃很难被正确排序。AAA 引擎会使用加权混合 OIT、深度剥离或逐像素链表等技术,在不经过 CPU 排序步骤的情况下正确渲染它们。在植被茂密的场景中,这往往是不太引人注意、却又开销最高的帧阶段之一。

深入阅读:
- McGuire 和 Bavoil,加权混合顺序无关透明(JCGT 2013,WBOIT 论文)。
- Bavoil 和 Myers,使用双重深度剥离实现顺序无关透明(NVIDIA 白皮书)。
- Yang 等,在 GPU 上实时构建并发链表(逐像素链表参考资料)。
- Wyman,探索并扩展 OIT 算法的连续谱系(HPG 2016,对比综述)。
15. 神经辐射缓存与机器学习降噪器
这是最新加入的一层技术。NVIDIA 的神经辐射缓存会学习每个场景的间接光照,并通过查询缓存来代替追踪更多光线。机器学习降噪器(OptiX、Intel Open Image Denoise 和内部自研方案)可以在几毫秒内清理由稀疏光线追踪产生的噪声信号。预计这一类别将在未来两年迅速发展。

深入阅读:
- Müller 等,用于路径追踪的实时神经辐射缓存(SIGGRAPH 2021,NRC 论文)。
- Schied 等,时空方差引导滤波:路径追踪全局光照的实时重建(HPG 2017,SVGF)。
- Chaitanya 等,使用循环降噪自编码器交互式重建蒙特卡洛图像序列(SIGGRAPH 2017,首个循环式机器学习降噪器)。
- Intel,Open Image Denoise 文档(开源生产级降噪器)。
这对浏览器意味着什么
我们已经在 WebGPU 中实现了其中多项技术,并将它们用于我们的开放世界浏览器引擎。级联阴影贴图、GPU 驱动实例化、三平面 PBR、屏幕空间雾以及基于裁剪图的虚拟化地形,都能在浏览器标签页中以 120 FPS 运行。截至 2026 年 9 月,WebGPU 自 Chrome 和 Edge 113 版起默认启用;Safari 26 已在 macOS、iOS、iPadOS 和 visionOS 上默认启用;Firefox 则已在 Windows(141)和 Apple Silicon Mac(145 及更高版本)上启用,而 Linux 仍仅在 Nightly 版本中提供,详见 gpuweb 实现状态。Three.js 在 r185 中将 WebGPU 渲染器设为默认路径;Babylon.js 9(2026 年 3 月)则在其基础上增加了集群光照和基于计算着色器的体积效果,详见 Babylon.js 9.0 公告。其余技术(硬件光线追踪、网格着色器和机器学习超分辨率)尚未进入 WebGPU 规范,因此目前在 Web 上仍只能通过计算着色器模拟。若要进一步了解,请参阅我们的浏览器开放世界技术、地貌生成、游戏开发中的 WebGPU 与 WebGL 对比以及 2026 年 Web 游戏技术栈指南。如果想检查特定浏览器公开了哪些能力,我们的 WebGL/WebGPU 检测器可以报告适配器功能和限制。
常见问题
2026 年,哪些渲染技术可以通过 WebGPU 在浏览器中运行?
大多数不需要专用硬件单元的技术都可以。PBR、延迟着色和可见性缓冲区着色、级联阴影贴图、屏幕空间环境光遮蔽和反射、体积雾与云、TAA、通过计算着色器实现的 GPU 驱动剔除、顺序无关透明以及基于集群的几何体流式传输,如今都可以在 WebGPU 中运行;我们的浏览器引擎也使用了其中多项技术。目前缺少的是依赖规范未公开硬件阶段的功能:硬件光线追踪、网格着色器,以及 DLSS 和 FSR 等厂商专有的机器学习超分辨率技术。你可以在计算着色器中模拟光线追踪和 Nanite 风格的集群剔除,实际也有人这样做,但其与原生实现之间仍会存在很大的性能差距。我们的 WebGPU 与 WebGL 对比指南详细介绍了这对游戏性能预算意味着什么。
游戏中的接触阴影是什么?
接触阴影是物体实际接触表面的位置出现的短而清晰的阴影,例如踩在地面上的脚、桌面上的杯子,或者墙壁与地板交界处的缝隙。由于偏移和分辨率限制,常规阴影贴图往往会让这些阴影变得模糊或完全遗漏,因此引擎会添加一个专门的渲染阶段,通常是在深度缓冲区上进行短距离屏幕空间光线步进;而在光线追踪渲染器中,则会发射少量极短的阴影光线。它们的开销很低,却能防止物体看起来像漂浮在空中。在 Web 上,three.js 提供了一个接触阴影示例,通过将物体深度渲染到地面平面上来模拟接触阴影。这种方式适合产品展示,但用于完整场景时会比较棘手。
什么是虚拟阴影贴图?浏览器支持它吗?
虚拟阴影贴图会将一张超大的阴影贴图(根据 Epic 的文档,虚幻引擎为每盏灯使用 16k × 16k 的贴图)视为一组页面,并且只按各自所需的分辨率分配和渲染相机实际可见的页面。这样无需承担整张贴图的成本,就能在近距离获得几乎达到逐像素精度的阴影。截至 2026 年 9 月,没有任何浏览器引擎正式提供 VSM。Three.js 在其 WebGPU 渲染器中提供了级联阴影贴图和 PCSS 软阴影,Babylon.js 则提供了 CascadedShadowGenerator。从原理上说,可以在 WebGPU 上构建 VSM(它主要依赖计算和间接绘制),但目前尚无人推出通用实现,因此级联阴影仍是浏览器标签页中的实用选择。
Web 游戏最适合使用哪些毛发渲染技术?
跳过发丝模拟,把毛发卡片的着色做好。实时发丝毛发(TressFX、虚幻引擎的 Groom 系统)需要计算量巨大的模拟和可扩展的顺序无关透明渲染,即使在原生环境中负担也很重;截至 2026 年 9 月,three.js 或 Babylon.js 都没有现成实现。对 Web 友好的技术栈是毛发卡片(几十条带纹理并使用 Alpha 测试的条带),配合各向异性的 Kajiya-Kay 着色,或用 three.js 的 TSL 或 Babylon 的节点材质编写的简化 Marschner 高光;先进行 Alpha 测试、再进行混合的双通道渲染,以保持边缘柔和;再加入烘焙到卡片纹理中的低成本环境光遮蔽项。如果需要动态效果,就驱动少量骨骼链,而不是模拟发丝。这样只需极少的帧时间就能获得大部分视觉效果;当整个场景在集成显卡上的预算只有 16 毫秒时,这一点至关重要。
到 2026 年,这份列表仍然准确吗?
是的,而且自 2026 年 5 月以来的变化主要是改进,而非出现新的类别。UE 5.8(2026 年 6 月)让 MegaLights 达到可用于正式生产的状态,加入了 Lumen Lite 和成本更低的远距离虚拟阴影贴图,同时也是虚幻引擎 6 之前最后一个 5.x 版本。AMD 的 FSR Redstone 将帧生成、光线再生和神经辐射缓存整合进一个机器学习套件,这印证了最后两节所描述的发展方向。与此同时,WebGPU 已覆盖所有主流浏览器,因此上文“这对浏览器意味着什么”一节如今讨论的是应该移植哪些技术,而不是平台是否已经准备就绪。
整个技术栈的延伸阅读
如果只想读一本书,《实时渲染》第 4 版是涵盖上述大多数主题的标准参考书。若要持续关注研究进展,SIGGRAPH“游戏中的实时渲染进展”课程档案(advances.realtimerendering.com)提供了可免费获取的 PDF,其中收录了自 2006 年以来对 AAA 引擎的深入解析。若想了解具体游戏如何完成每一帧渲染的制作拆解,Adrian Courrèges 的 GPU 性能分析文章是必读内容。