Files
XCEngine/docs/plan/end/RHI模块设计与实现/RHI模块总览.md
ssdfasd 9fae910854 Editor: 更新编辑器面板和UI控件系统
- 添加新的UI控件系统(Core.h, ScalarControls.h, VectorControls.h, UI.h)
- 更新SceneManager支持场景层级管理
- 优化SelectionManager选择管理
- 改进InspectorPanel/GameViewPanel/HierarchyPanel等面板
- 更新RHI文档说明Vulkan实现计划
2026-03-24 20:02:38 +08:00

54 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RHI 渲染模块设计文档
## 1. 项目背景
本项目旨在参考 Unity 渲染架构,为已有的 **OpenGL** 、**Direct3D 12** 和 **Vulkan** 图形 API 后端设计统一的**渲染硬件抽象层RHI**,屏蔽 API 差异,实现引擎上层逻辑与底层图形 API 的解耦。暂时只实现D3D12和OpenGL后面会加上Vulkan
## 2. 核心设计理念
**求同存异,分层抽象,特性降级,底层逃逸**
- **求同存异**:优先提取 API 共性作为核心抽象,差异部分通过模拟/降级处理
- **分层抽象**:通过清晰的层级结构隔离 API 差异
- **特性降级**:对高级特性提供能力检测和替代方案
- **底层逃逸**:允许直接访问原生 API 以满足极端需求
## 3.核心约束原则
该RHI模块的抽象层主要面向**Direct3D 12** 和 **Vulkan**这些高级图形API的显示设计。
该RHI模块主要参考Unity引擎的底层RHI模块后面方便参考Unity的SRP做上层渲染管线。
## 3. RHI 分层架构
### 3.1 通用分层模型
```
┌─────────────────────────────────┐
│ 引擎功能层(场景/材质/光照) │
├─────────────────────────────────┤
│ 渲染管线层SRP/Render Graph
├─────────────────────────────────┤
│ RHI 抽象层(统一接口) │ ← 核心设计重点
├─────────────────────────────────┤
│ API 后端层D3D12/OpenGL
├─────────────────────────────────┤
│ 驱动/硬件层 │
└─────────────────────────────────┘
```
### 3.2 层级职责说明
1. **引擎功能层**:提供场景管理、材质系统、光照等高级功能接口
2. **渲染管线层**:定义渲染流程(前向/延迟渲染)
3. **RHI 抽象层**:统一图形 API 接口,屏蔽差异
4. **API 后端层**:针对具体 API 的实现
5. **驱动/硬件层**:最终执行渲染指令
## 4. RHI 抽象基类设计
include/XCEngine/RHI/
├── RHIEnums.h # 通用枚举
├── RHITypes.h # 通用结构体
├── RHICapabilities.h # 硬件能力检测
├── RHIDevice.h # 设备抽象(核心入口)
├── RHICommandQueue.h # 命令队列抽象
├── RHICommandList.h # 命令列表抽象
├── RHIBuffer.h # 缓冲区抽象
├── RHITexture.h # 纹理抽象
├── RHIShader.h # 着色器抽象
├── RHIPipelineLayout.h # 管线布局抽象(替代 RootSignature
├── RHIPipelineState.h # 管线状态抽象
├── RHISwapChain.h # 交换链抽象
├── RHIFence.h # 同步栅栏抽象
├── RHIDescriptorPool.h # 描述符池抽象
└── RHIFactory.h # RHI 工厂类