Skip to content

现代 AAA 游戏使用的渲染技术简表

作者:Oleg Sidorkin,Cinevva CTO 兼联合创始人

Composite scene showing PBR materials, virtualized geometry, and ray-traced lighting in a modern AAA game

如果你打开一款 2026 年 AAA 游戏的渲染管线,里面大部分东西都能追溯到一组在各家工作室之间共用的技术。引擎之间名字不一样,思路是一样的。下面是一份简表,列出屏幕上真正在干活的技术,每一项配一张图和几份深入的技术参考。

1. 基于物理的渲染(PBR)

材质用 albedo、roughness、metallic、normal 和 ambient occlusion 贴图描述,由能量守恒的着色器(Cook-Torrance specular,Lambertian 或 Disney diffuse)打光。这是每个现代 AAA 引擎都默认的基线。一张表面在阳光、台灯和手电筒下看起来一致,靠的就是 PBR。

Iron helmet rendered with PBR materials, with floating texture swatches showing albedo, roughness, metallic, and normal maps

延伸阅读:

2. 延迟着色与可见性缓冲着色

几何阶段先把属性(法线、材质 ID、深度)写入 G-buffer 或 visibility buffer。光照作为全屏 pass 读取这些缓冲,并对每个像素只着色一次。Visibility buffer(Nanite 等使用的方式)更进一步,只存三角形 ID,把材质参数推迟到后面再按像素解算,这样在密集几何上 overdraw 仍然便宜。

Deferred shading G-buffer split into final color, world normals, depth, and material ID panels

延伸阅读:

3. 虚拟化几何(Nanite 风格)

mesh 被预先构建为一棵簇层级。运行时 GPU 按每个像素匹配的分辨率流式拉取并选择簇,所以你能拿到亚像素精度的细节,而不用手动做 LOD。Unreal 的 Nanite 是最显眼的例子。其它引擎现在也都在出自己的变体。实际效果是不用做 LOD 也能实时跑电影级素材。

Smooth render on the left, sub-pixel meshlet clusters in vivid colors on the right

延伸阅读:

4. 用于阴影、反射和 AO 的实时光线追踪

硬件光追(DXR、Vulkan RT)针对每帧构建的 BVH 投射阴影射线、镜面与光泽反射射线,以及 AO 射线。每像素哪怕只有几根射线,效果也好过屏幕空间技术能做到的,尤其是离屏反射和接触阴影。多数游戏只在关键位置用,不会到处都用。

Glossy red sports car in a luxury showroom with accurate ray-traced reflections and contact shadows

延伸阅读:

5. 软件光追(Lumen 风格)

不是每个玩家都有 RTX 显卡,所以引擎也会出 distance field 或 surface cache 的后备方案。比如 Unreal 的 Lumen 会对 signed distance field 和 surface cache 做追踪以得到便宜的 diffuse GI,只在必要时升级到硬件射线。AAA 游戏能在主机上跑出 "光追观感" 就是靠这个。

Cathedral interior with stained-glass color bleed and an SDF wireframe overlay revealing approximated geometry

延伸阅读:

6. ReSTIR 与水库采样

对于成千上万个光源的直接和间接照明,ReSTIR(Reservoir Spatio-Temporal Importance Resampling)会在像素和帧之间复用光样本。这是 Cyberpunk 2077 路径追踪等游戏能在每像素一两根射线下把噪声压低的方法。随着路径追踪变成高端目标,你会在越来越多引擎里看到它。

Cyberpunk street with ray-traced reflections in wet pavement and visible bounced light paths

延伸阅读:

7. 体积云、雾和大气

天空对 3D 噪声和密度体积做 ray march。大气用预计算散射表(Bruneton 风格)处理日月的过渡。雾是一个 froxel 网格(可以想成一张对齐视锥的 3D 纹理),用来捕捉局部光照。三者合起来给你的是 "作为一套系统的天气",不是一张 skybox。

Mountain valley at sunset with volumetric clouds and god rays piercing through misty air

延伸阅读:

8. 级联阴影贴图与虚拟阴影贴图

对于太阳阴影,级联阴影贴图把视锥分成若干段,分别以合适的分辨率渲染。虚拟阴影贴图更进一步:一张超大的阴影贴图被切成页,只有相机能看到的页才被渲染。AAA 游戏能在玩家附近保持清晰阴影、又不被显存账单压死,就是靠它。

Outdoor scene with three colored cascade frustums overlaid showing shadow detail near the camera

延伸阅读:

9. 屏幕空间效果(SSAO、SSR、SSGI、SSSSS)

便宜地读取深度和法线缓冲,你就能拿到环境光遮蔽(SSAO)、反射(SSR)、一次反弹的 GI(SSGI)和皮肤的次表面散射(SSSSS)。它们漏掉屏幕外的细节,这也是为什么光追在接管它们,但它们作为快速基线仍然到处都是。

Side-by-side kitchen scene comparing flat lighting on the left with SSAO, SSR, and SSGI on the right

延伸阅读:

10. 时域抗锯齿与 ML 超分(DLSS、FSR、XeSS)

帧以更低的内部分辨率渲染,再用运动向量、深度和历史信息重建。基于 ML 的超分器(DLSS 3/4、FSR 3、XeSS)在此之上加帧生成,用光流插值中间帧。多数 AAA 大作现在出货时都默认超分是开启的,这会改变你给一帧里其它部分编预算的方式。

Side-by-side of a low-resolution input and a sharp ML-reconstructed output of the same character

延伸阅读:

11. GPU 驱动的渲染与 mesh shader

剔除、LOD 选择、绘制提交全都跑在 GPU 上。Mesh shader 用一个更灵活的 compute 风格阶段替换 vertex/geometry/tessellation 管线,输出 meshlet。配合 multi-draw indirect,可以把 CPU 完全踢出每对象的热路径。

Alien spaceport scene with colored meshlet cluster overlay showing GPU-driven rendering

延伸阅读:

12. 头发、布料和皮肤渲染

头发用 Marschner 风格的各向异性着色加 strand-based 几何(NVIDIA HairWorks、AMD TressFX,或者引擎自带的系统)。布料在 GPU 上用 position-based dynamics 仿真,渲染时用各向异性高光。皮肤用屏幕空间次表面散射加预积分的 wrap lighting。AAA 和独立之间的预算差距,常常就显露在这三样上。

Close-up of a warrior with strand-based hair, cloth cloak, and subsurface-scattered skin

延伸阅读:

13. Decals、虚拟纹理与材质分层

表面变化来自分层的 decals(弹孔、污渍、血迹、油泥)投影到深度缓冲上,再加上按需流式拉取高分辨率细节的虚拟纹理。材质分层在每像素上用 mask 和三平面投影混合多套 PBR 参数,所以一块石头能看起来像五块石头。

Weathered concrete bunker wall with bullet decals, graffiti, and a virtual texture page atlas inset

延伸阅读:

14. 顺序无关透明(OIT)

头发、植被、粒子和玻璃没法干净地排序。AAA 引擎用 weighted blended OIT、depth peeling 或 per-pixel linked list 这类技术不靠 CPU 排序就把它们渲染正确。在植被密集的场景里,这是一帧里悄悄最贵的环节之一。

Forest scene with overlapping translucent foliage, smoke, glass droplets, and translucent hair

延伸阅读:

15. 神经辐射缓存与 ML 降噪器

最新的一层。NVIDIA 的 neural radiance cache 按场景学习间接光,然后查询它,而不是再多打几根射线。ML 降噪器(OptiX、Intel Open Image Denoise,以及各家自研)会在毫秒级别清理稀疏的光追信号。这一类接下来两年会增长很快。

Noisy 1-spp ray-traced cathedral on the left, clean ML-denoised result on the right

延伸阅读:

这对浏览器意味着什么

我们已经把上面几项技术用 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 剖析文章 是必读。