A hands-on reading series through the C++ source of Unreal Engine 5.6’s rendering subsystem. Each article dissects a specific area of the pipeline with actual source code references and bilingual (English / Chinese) explanations.
00 — Overview
| Article |
Topic |
| Introduction |
What is UE 5.6, the three renderers, next-gen technologies overview, series map and prerequisites |
01 — Rendering Pipeline
| Article |
Topic |
| Deferred Rendering |
FDeferredShadingSceneRenderer — full deferred pipeline, GBuffer layout, all 12 render stages |
| Forward Rendering |
FMobileSceneRenderer / Desktop Forward — TBDR analysis, single-pass design, light data architecture |
| (planned) Visibility & Culling |
SceneVisibility.cpp — frustum cull, HZB occlusion, ComputeRelevance, draw call dispatch |
| (planned) Translucency In Depth |
All translucency lighting modes, Lumen interaction, Separate Translucency, Front Layer |
| (planned) Decal Rendering |
DBuffer vs Deferred Decals, Mesh Decals, interaction with GBuffer and Nanite |
02 — Engine Infrastructure
| Article |
Topic |
| RDG — Render Dependency Graph |
FRDGBuilder — resource lifetime, pass culling, render pass merging, async compute, custom pass example |
| Thread Concurrency |
Game / Render / RHI thread architecture, ENQUEUE_RENDER_COMMAND, FRenderCommandFence, frame pipelining |
| Virtual Texture Streaming |
Page table, physical pool, GPU feedback buffer, Runtime VT for landscapes, Adaptive VT |
| (planned) GPU Scene & Instance Culling |
FGPUScene primitive buffer, instance culling dispatcher, multi-view load balancing |
| (planned) Scene Capture & Render Targets |
SceneCaptureComponent2D, runtime render targets in materials, timing pitfalls |
03 — Lighting & Shadows
| Article |
Topic |
| Lighting Architecture |
Clustered deferred, froxel light grid, three-tier evaluation, MegaLights stochastic sampling, IES atlas |
| Virtual Shadow Maps |
16K² virtual address space, physical page pool, page table indirection, static/dynamic cache split |
| (planned) Distance Field System |
Mesh SDF generation & precision, Global Distance Field, DFAO, Lumen SDF tracing internals |
| (planned) Ray Tracing Infrastructure |
TLAS/BLAS management, SBT, hit shaders, RT shadows / AO / reflections beyond Lumen |
04 — Material & Shader System
| Article |
Topic |
| Shader Compilation & Architecture |
FShader hierarchy, permutation domains, FHLSLMaterialTranslator, ShaderMap caching |
| Shading Models Reference |
All 13 built-in BRDFs — Default Lit (GGX), Subsurface Profile (Burley), Clear Coat, Hair (Marschner), Cloth (Ashikhmin), Eye, Water, Substrate |
| USF / HLSL Writing Guide |
Virtual path system, key include files, shader types, permutation domains, full compute + VS/PS examples, hot-reload & debugging |
| (planned) Material Permutation Explosion |
What features multiply permutation count, cost analysis, pruning strategies |
| (planned) Substrate Advanced |
Multi-layer BSDF storage format, multi-layer car paint / skin / cloth material authoring |
05 — UE5 Core Technologies
| Article |
Topic |
| Nanite — Virtual Geometry |
Cluster hierarchy (BVH/DAG), FPackedCluster, two-pass occlusion, software vs hardware rasterizer, shading bins |
| Lumen — Dynamic GI |
Surface Cache (Mesh Cards), hybrid tracing decision tree, Screen Probes, Radiance Cache, async compute |
| (planned) Lumen — Software Tracing Deep Dive |
Global SDF construction, per-object SDF culling, mesh card capture, radiosity multi-bounce |
| (planned) MegaLights |
Stochastic many-light evaluation, ReSTIR reservoir resampling, VSM integration |
06 — Post-Processing & Effects
| Article |
Topic |
| Post-Processing Pipeline |
Execution order (EPass enum), all 16 effects, TSR pivot, Tonemap + LUT, three ways to write custom PP shaders |
| Screen Space Effects |
SSR (Hi-Z ray march), GTAO horizon-based AO, contact shadows, spatiotemporal denoiser |
| (planned) Depth of Field In Depth |
Diaphragm DOF: gather / scatter / recombine passes, Bokeh, Circle of Confusion |
| (planned) Motion Blur & Velocity Buffer |
VelocityRendering.cpp, per-object / camera blur, TSR interaction |
07 — Specialized Rendering
| Article |
Topic |
| Volumetric Fog & Atmosphere |
Four-layer stack — Sky Atmosphere (Bruneton LUTs), Volumetric Clouds (ray-march), Volumetric Fog (froxel grid + light scatter), Exponential Height Fog |
| Water Rendering |
Single Layer Water BRDF — Fresnel, Beer-Lambert absorption, refraction UV offset, water info texture, SSR/Lumen integration |
| Hair & Groom |
Strand data layout, visibility buffer rasterization, Marschner R/TT/TRT BRDF, deep shadow maps, voxel self-shadowing, Groom asset pipeline |
| (planned) Landscape Rendering |
Virtual Texture LOD, Material Layer blending, Runtime VT baking, Nanite for Landscape |
| (planned) Skin Rendering Deep Dive |
Subsurface Profile authoring, Pre-Integrated GF, dual normal maps, pore-level detail |
| (planned) LOD & HLOD System |
Screen-space LOD threshold math, HLOD proxy generation, Nanite as LOD replacement |
08 — Engine Customization
| Article |
Topic |
| Custom Shading Model |
SHADINGMODELID_* system, step-by-step custom model implementation (C++ + HLSL), Substrate BSDF layers |
| Niagara GPU Compute |
Simulation Stages, Grid2D/3D Data Interfaces, custom DI authoring, fluid / crowd / physics use cases |
| (planned) ViewExtension — Plugin-Safe Injection |
Inject RDG passes without engine modification, PP chain hooks, third-party upscaler pattern |
| (planned) Custom Depth & Stencil |
RenderCustomDepthPass, use cases (outlines, X-ray, masking), mobile limitations |
| Article |
Topic |
| Hardware Profiling |
Unreal Insights, GPU Visualizer, RDG Insights, RenderDoc, PIX, NSight, Snapdragon Profiler, bandwidth analysis |
| (planned) Memory & VRAM Optimization |
Texture streaming budgets, transient resource aliasing, VRAM overflow diagnosis |
| (planned) GPU Timing & Frame Pacing |
stat GPU, frame pipelining latency, async compute overlap measurement |
Source: Engine/Source/Runtime/Renderer/Private/ · UE 5.6