470 字
2 分钟
Unreal Engine - Rendering System
UE 渲染系统核心类树形结构├─ 1. 顶层调度与管线管理(总指挥)│ ├─ FRenderCore:渲染系统根入口(初始化、渲染线程管理、CPU/GPU 桥梁)│ ├─ FSceneRenderer:单帧渲染总调度(组织帧内渲染流程:剔除→绘制→后期处理)│ └─ FRendererModule:渲染模块入口(注册接口、管理插件、暴露全局配置)├─ 2. 场景与资源管理(数据基础)│ ├─ FScene:场景渲染数据快照(存储可渲染物体、光照、相机等)│ ├─ FPrimitiveSceneProxy:可渲染物体的渲染代理(游戏线程→渲染线程数据转换)│ ├─ FMaterialRenderProxy:材质的渲染代理(绑定 Shader/PSO、传递材质状态)│ └─ FRenderResource:GPU 资源基类(统一管理纹理、缓冲、Shader 等生命周期)├─ 3. 渲染管线核心阶段(绘制逻辑核心)│ ├─ FPipelineStateCache:PSO 缓存管理器(预编译、查找、复用 PSO)│ ├─ FShader:Shader 基类(封装 HLSL 代码、编译选项)│ │ ├─ FVertexShader(顶点着色器)│ │ ├─ FPixelShader(像素着色器)│ │ └─ 其他子类(GS/HS/DS/Compute Shader 等)│ ├─ FShaderPipeline:Shader 组合管理器(管理 VS+PS 等完整 Shader 集,对应 PSO 变体)│ └─ FCommandList:GPU 指令容器(记录绘制操作,批量提交给 GPU)├─ 4. 平台适配与底层抽象(跨平台核心)│ ├─ FRHI(Render Hardware Interface):图形 API 抽象层(屏蔽 DX/Vulkan/Metal 差异)│ ├─ FRHIDevice:GPU 设备抽象(代表物理显卡,执行渲染指令、管理显存)│ │ ├─ FD3D12Device(DX12 实现)│ │ ├─ FVulkanDevice(Vulkan 实现)│ │ └─ 其他平台实现│ └─ FRHIResource:GPU 底层资源抽象(FRHITexture/FRHIVertexBuffer 等,适配硬件)└─ 5. 特殊渲染与后期处理 ├─ FPostProcessManager:后期处理管理器(调度 Bloom/景深等特效 Pass) └─ 光线追踪核心类 ├─ FRayTracingScene:构建光线追踪加速结构(BVH) └─ FRayTracingPipelineState:管理光线追踪 Shader 与渲染管线文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Unreal Engine - Rendering System
https://dev.64hz.cn/posts/unreal-engine-rendering-system/