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

如果你打开一款 2026 年 AAA 游戏的渲染管线,里面大部分东西都能追溯到一组在各家工作室之间共用的技术。引擎之间名字不一样,思路是一样的。下面是一份简表,列出屏幕上真正在干活的技术,每一项配一张图和几份深入的技术参考。
1. 基于物理的渲染(PBR)
材质用 albedo、roughness、metallic、normal 和 ambient occlusion 贴图描述,由能量守恒的着色器(Cook-Torrance specular,Lambertian 或 Disney diffuse)打光。这是每个现代 AAA 引擎都默认的基线。一张表面在阳光、台灯和手电筒下看起来一致,靠的就是 PBR。

延伸阅读:
- Burley,Physically-Based Shading at Disney(最早的 "Disney BRDF" 课程笔记,SIGGRAPH 2012)。
- Karis,Real Shading in Unreal Engine 4(SIGGRAPH 2013,UE4 PBR 的经典演讲)。
- Lagarde 和 de Rousiers,Moving Frostbite to Physically Based Rendering 3.0(SIGGRAPH 2014,完整的 Frostbite 管线)。
- Real-Time Rendering, 4th edition, chapter 9(教科书级别的参考)。
2. 延迟着色与可见性缓冲着色
几何阶段先把属性(法线、材质 ID、深度)写入 G-buffer 或 visibility buffer。光照作为全屏 pass 读取这些缓冲,并对每个像素只着色一次。Visibility buffer(Nanite 等使用的方式)更进一步,只存三角形 ID,把材质参数推迟到后面再按像素解算,这样在密集几何上 overdraw 仍然便宜。

延伸阅读:
- Engel,Deferred Shading(NVIDIA,奠基性演讲)。
- Burns 和 Hunt,The Visibility Buffer: A Cache-Friendly Approach to Deferred Shading(JCGT 2013,最早的 visibility buffer 论文)。
- Wihlidal,"Optimizing the Graphics Pipeline with Compute"(GDC 2016,Frostbite 基于 compute 的 deferred 路径)。
- Karis、Stubbe、Wihlidal,A Deep Dive into Nanite Virtualized Geometry(SIGGRAPH 2021,详细讲了 Nanite 的 visibility buffer)。
3. 虚拟化几何(Nanite 风格)
mesh 被预先构建为一棵簇层级。运行时 GPU 按每个像素匹配的分辨率流式拉取并选择簇,所以你能拿到亚像素精度的细节,而不用手动做 LOD。Unreal 的 Nanite 是最显眼的例子。其它引擎现在也都在出自己的变体。实际效果是不用做 LOD 也能实时跑电影级素材。

延伸阅读:
- Karis、Stubbe、Wihlidal,A Deep Dive into Nanite Virtualized Geometry(SIGGRAPH 2021)。
- Brian Karis,Nanite GDC 2021 talk(一个比较易懂的视频版本)。
- Liktor,Geometry Rendering Pipeline Architecture at Activision(基于簇的渲染,2021)。
- Schied 等,Spatiotemporal Variance-Guided Filtering(相关的簇剔除技术)。
4. 用于阴影、反射和 AO 的实时光线追踪
硬件光追(DXR、Vulkan RT)针对每帧构建的 BVH 投射阴影射线、镜面与光泽反射射线,以及 AO 射线。每像素哪怕只有几根射线,效果也好过屏幕空间技术能做到的,尤其是离屏反射和接触阴影。多数游戏只在关键位置用,不会到处都用。

延伸阅读:
- Microsoft,DirectX Raytracing (DXR) Functional Spec(API 参考)。
- Wyman,Introduction to DirectX Raytracing(SIGGRAPH 课程笔记,很易读)。
- Boksansky 和 Marrs,Ray Tracing Gems II, chapters 17-19(免费 PDF,现代 DXR 技术)。
- Stachowiak,Stochastic Screen-Space Reflections(Frostbite,从 SSR 通往 RT 的过渡)。
5. 软件光追(Lumen 风格)
不是每个玩家都有 RTX 显卡,所以引擎也会出 distance field 或 surface cache 的后备方案。比如 Unreal 的 Lumen 会对 signed distance field 和 surface cache 做追踪以得到便宜的 diffuse GI,只在必要时升级到硬件射线。AAA 游戏能在主机上跑出 "光追观感" 就是靠这个。

延伸阅读:
- Wright 等,Lumen: Real-Time Global Illumination in Unreal Engine 5(SIGGRAPH 2022,Lumen 论文)。
- Epic Games,Lumen Technical Details(官方引擎文档)。
- Wright,Radiance Caching for Real-Time Global Illumination(SIGGRAPH 2021)。
- Wright,Lumen GDC 2022 talk(视频版本)。
6. ReSTIR 与水库采样
对于成千上万个光源的直接和间接照明,ReSTIR(Reservoir Spatio-Temporal Importance Resampling)会在像素和帧之间复用光样本。这是 Cyberpunk 2077 路径追踪等游戏能在每像素一两根射线下把噪声压低的方法。随着路径追踪变成高端目标,你会在越来越多引擎里看到它。

延伸阅读:
- Bitterli 等,Spatiotemporal Reservoir Resampling for Real-Time Ray Tracing with Dynamic Direct Lighting(SIGGRAPH 2020,原始 ReSTIR 论文)。
- Ouyang 等,ReSTIR GI: Path Resampling for Real-Time Path Tracing(HPG 2021,间接光的 ReSTIR)。
- Lin 等,Generalized Resampled Importance Sampling(SIGGRAPH 2022,数学基础)。
- NVIDIA,Cyberpunk 2077 Path Tracing Tech Deep Dive(工程博客)。
7. 体积云、雾和大气
天空对 3D 噪声和密度体积做 ray march。大气用预计算散射表(Bruneton 风格)处理日月的过渡。雾是一个 froxel 网格(可以想成一张对齐视锥的 3D 纹理),用来捕捉局部光照。三者合起来给你的是 "作为一套系统的天气",不是一张 skybox。

延伸阅读:
- Schneider,The Real-Time Volumetric Cloudscapes of Horizon Zero Dawn(SIGGRAPH 2015,云的经典参考)。
- Hillaire,A Scalable and Production Ready Sky and Atmosphere Rendering Technique(EGSR 2020,UE5 用的现代 Bruneton 继任者)。
- Wronski,Volumetric Fog: Unified Compute Shader Based Solution to Atmospheric Scattering(SIGGRAPH 2014,刺客信条 4 的 froxel 雾)。
- Hillaire,Physically Based and Unified Volumetric Rendering in Frostbite(SIGGRAPH 2015)。
8. 级联阴影贴图与虚拟阴影贴图
对于太阳阴影,级联阴影贴图把视锥分成若干段,分别以合适的分辨率渲染。虚拟阴影贴图更进一步:一张超大的阴影贴图被切成页,只有相机能看到的页才被渲染。AAA 游戏能在玩家附近保持清晰阴影、又不被显存账单压死,就是靠它。

延伸阅读:
- Dimitrov,Cascaded Shadow Maps(NVIDIA 白皮书,标准参考)。
- Microsoft,Common Techniques to Improve Shadow Depth Maps(DirectX 文档)。
- Wright,Virtual Shadow Maps in Fortnite Battle Royale Chapter 4(SIGGRAPH 2023,UE5 VSM 演讲)。
- Epic Games,Virtual Shadow Maps documentation。
9. 屏幕空间效果(SSAO、SSR、SSGI、SSSSS)
便宜地读取深度和法线缓冲,你就能拿到环境光遮蔽(SSAO)、反射(SSR)、一次反弹的 GI(SSGI)和皮肤的次表面散射(SSSSS)。它们漏掉屏幕外的细节,这也是为什么光追在接管它们,但它们作为快速基线仍然到处都是。

延伸阅读:
- Mittring,Finding Next Gen: CryENGINE 2(SIGGRAPH 2007,最早的 SSAO 论文)。
- McGuire 等,Scalable Ambient Obscurance(HPG 2012,现代 SSAO)。
- Stachowiak 和 Uludag,Stochastic Screen-Space Reflections(Frostbite,SSR 的参考)。
- Jimenez,Separable Subsurface Scattering(多数 AAA 引擎里皮肤用的技术)。
- Mara 等,Deep Screen Space(Activision,SSGI 的一条脉络)。
10. 时域抗锯齿与 ML 超分(DLSS、FSR、XeSS)
帧以更低的内部分辨率渲染,再用运动向量、深度和历史信息重建。基于 ML 的超分器(DLSS 3/4、FSR 3、XeSS)在此之上加帧生成,用光流插值中间帧。多数 AAA 大作现在出货时都默认超分是开启的,这会改变你给一帧里其它部分编预算的方式。

延伸阅读:
- Karis,High Quality Temporal Supersampling(SIGGRAPH 2014,TAA 的经典演讲)。
- Salvi,An Excursion in Temporal Supersampling(NVIDIA,通向 DLSS 的路上)。
- Edelsten,Truly Next-Gen: Adding Deep Learning to Games and Graphics(GDC 2019,DLSS 架构)。
- AMD,FidelityFX Super Resolution 3 technical details;Intel,XeSS technical paper。
11. GPU 驱动的渲染与 mesh shader
剔除、LOD 选择、绘制提交全都跑在 GPU 上。Mesh shader 用一个更灵活的 compute 风格阶段替换 vertex/geometry/tessellation 管线,输出 meshlet。配合 multi-draw indirect,可以把 CPU 完全踢出每对象的热路径。

延伸阅读:
- Haar 和 Aaltonen,GPU-Driven Rendering Pipelines(SIGGRAPH 2015,奠基性的刺客信条:大革命演讲)。
- Wihlidal,Optimizing the Graphics Pipeline with Compute(GDC 2016,Frostbite 的 GPU 驱动剔除)。
- Kubisch,Introduction to Turing Mesh Shaders(NVIDIA,mesh shader 入门)。
- Pesce,A Whirlwind Tour of Mesh Shaders(以及 Adrian Courrèges 的 RenderDoc 拆解 上收录的类似工程博客)。
12. 头发、布料和皮肤渲染
头发用 Marschner 风格的各向异性着色加 strand-based 几何(NVIDIA HairWorks、AMD TressFX,或者引擎自带的系统)。布料在 GPU 上用 position-based dynamics 仿真,渲染时用各向异性高光。皮肤用屏幕空间次表面散射加预积分的 wrap lighting。AAA 和独立之间的预算差距,常常就显露在这三样上。

延伸阅读:
- Marschner 等,Light Scattering from Human Hair Fibers(SIGGRAPH 2003,奠基性的头发模型)。
- Chiang 等,A Practical and Controllable Hair and Fur Model for Production Path Tracing(Disney 2016,被实时近似广泛采用)。
- Müller 等,Position Based Dynamics(布料仿真的标准参考)。
- Jimenez 等,Separable Subsurface Scattering 与 Real-Time Realistic Skin Translucency。
13. Decals、虚拟纹理与材质分层
表面变化来自分层的 decals(弹孔、污渍、血迹、油泥)投影到深度缓冲上,再加上按需流式拉取高分辨率细节的虚拟纹理。材质分层在每像素上用 mask 和三平面投影混合多套 PBR 参数,所以一块石头能看起来像五块石头。

延伸阅读:
- Pranckevičius,Deferred Decals 以及后续(Aras 的经典博客系列)。
- Mittring,The Technology Behind the "Unreal Engine 4 Elemental Demo"(SIGGRAPH 2012,包含虚拟纹理细节)。
- van Waveren,id Tech 5 Challenges: From Texture Virtualization to Massive Parallelization(SIGGRAPH 2009,MegaTexture 演讲)。
- Williams,Material Layering in The Order: 1886(GDC 2014,分层 PBR 材质)。
14. 顺序无关透明(OIT)
头发、植被、粒子和玻璃没法干净地排序。AAA 引擎用 weighted blended OIT、depth peeling 或 per-pixel linked list 这类技术不靠 CPU 排序就把它们渲染正确。在植被密集的场景里,这是一帧里悄悄最贵的环节之一。

延伸阅读:
- McGuire 和 Bavoil,Weighted Blended Order-Independent Transparency(JCGT 2013,WBOIT 论文)。
- Bavoil 和 Myers,Order Independent Transparency with Dual Depth Peeling(NVIDIA 白皮书)。
- Yang 等,Real-Time Concurrent Linked List Construction on the GPU(per-pixel linked list 的参考)。
- Wyman,Exploring and Expanding the Continuum of OIT Algorithms(HPG 2016,对比综述)。
15. 神经辐射缓存与 ML 降噪器
最新的一层。NVIDIA 的 neural radiance cache 按场景学习间接光,然后查询它,而不是再多打几根射线。ML 降噪器(OptiX、Intel Open Image Denoise,以及各家自研)会在毫秒级别清理稀疏的光追信号。这一类接下来两年会增长很快。

延伸阅读:
- Müller 等,Real-Time Neural Radiance Caching for Path Tracing(SIGGRAPH 2021,NRC 论文)。
- Schied 等,Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination(HPG 2017,SVGF)。
- Chaitanya 等,Interactive Reconstruction of Monte Carlo Image Sequences using a Recurrent Denoising Autoencoder(SIGGRAPH 2017,第一个循环式 ML 降噪器)。
- Intel,Open Image Denoise documentation(开源的生产级降噪器)。
这对浏览器意味着什么
我们已经把上面几项技术用 WebGPU 落地到了我们的 浏览器端开放世界引擎 里。级联阴影贴图、GPU 驱动的实例化、三平面 PBR、屏幕空间雾,以及基于 clipmap 的虚拟化地形,都能在一个标签页里跑到 120 FPS。其余的(硬件光追、mesh shader、ML 超分)会随着 WebGPU 规范跟上而来到 Web。想更深入,看我们关于 浏览器开放世界技术 和 地形生成 的指南。
跨整套技术栈的进一步阅读
如果只读一本书,Real-Time Rendering, 4th edition 是覆盖以上多数话题的标准参考。要追在研的内容,SIGGRAPH 的 "Advances in Real-Time Rendering in Games" 课程档案(advances.realtimerendering.com)从 2006 年起就有 AAA 引擎深入剖析的免费 PDF。要看特定游戏怎么渲染一帧的生产级拆解,Adrian Courrèges 的 GPU 剖析文章 是必读。