Unreal Engine – Render 渲染系统

Unreal Engine – Render 渲染系统

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 与渲染管线

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容