docs: 更新第二阶段计划,反映实际目录结构和已完成任务
This commit is contained in:
@@ -20,11 +20,11 @@
|
|||||||
## 2.2 目录结构
|
## 2.2 目录结构
|
||||||
|
|
||||||
```
|
```
|
||||||
RHI/ # 渲染硬件抽象层
|
engine/include/XCEngine/RHI/ # 渲染硬件抽象层(公开API)
|
||||||
|
├── Enums.h # 枚举定义(独立编号,跨平台)
|
||||||
|
├── Types.h # 通用类型定义
|
||||||
├── RHISystem.h # RHI 系统入口
|
├── RHISystem.h # RHI 系统入口
|
||||||
├── RHIDevice.h # 抽象设备接口
|
├── RHIDevice.h # 抽象设备接口
|
||||||
├── Types.h # 通用类型定义
|
|
||||||
├── Enums.h # 枚举定义
|
|
||||||
├── Resource.h # 资源基类接口
|
├── Resource.h # 资源基类接口
|
||||||
├── ResourceView.h # 资源视图基类接口
|
├── ResourceView.h # 资源视图基类接口
|
||||||
├── RenderTargetView.h # 渲染目标视图接口
|
├── RenderTargetView.h # 渲染目标视图接口
|
||||||
@@ -46,6 +46,7 @@ RHI/ # 渲染硬件抽象层
|
|||||||
├── Buffer.h # 缓冲区资源
|
├── Buffer.h # 缓冲区资源
|
||||||
├── Shader.h # 着色器
|
├── Shader.h # 着色器
|
||||||
└── D3D12/ # D3D12 后端实现
|
└── D3D12/ # D3D12 后端实现
|
||||||
|
├── D3D12Enum.h # 枚举转换层(RHI→D3D12)
|
||||||
├── D3D12Device.h
|
├── D3D12Device.h
|
||||||
├── D3D12Device.cpp
|
├── D3D12Device.cpp
|
||||||
├── D3D12CommandList.h
|
├── D3D12CommandList.h
|
||||||
@@ -696,8 +697,11 @@ D3D12相关的公共定义和辅助函数:
|
|||||||
|
|
||||||
```
|
```
|
||||||
阶段 2.1: 基础枚举与类型 (1天)
|
阶段 2.1: 基础枚举与类型 (1天)
|
||||||
├── 2.1.1 Enums.h
|
├── 2.1.1 Enums.h [已完成]
|
||||||
└── 2.1.2 Types.h (通用类型定义)
|
│ └── RHI枚举定义(独立编号)
|
||||||
|
├── 2.1.2 Types.h (通用类型定义)
|
||||||
|
└── 2.1.3 D3D12Enum.h [已完成]
|
||||||
|
└── 枚举转换层(RHI→D3D12)
|
||||||
|
|
||||||
阶段 2.2: 核心接口定义 (3天)
|
阶段 2.2: 核心接口定义 (3天)
|
||||||
├── 2.2.1 RHISystem.h
|
├── 2.2.1 RHISystem.h
|
||||||
@@ -798,6 +802,23 @@ D3D12要求严格的状态管理:
|
|||||||
- GPUDescriptorHandle/CPUDescriptorHandle 作为通用句柄类型
|
- GPUDescriptorHandle/CPUDescriptorHandle 作为通用句柄类型
|
||||||
- 资源状态使用统一的ResourceStates枚举
|
- 资源状态使用统一的ResourceStates枚举
|
||||||
- 创建描述符结构体独立于特定API
|
- 创建描述符结构体独立于特定API
|
||||||
|
- RHI枚举使用独立编号,通过转换层转换为特定API枚举
|
||||||
|
|
||||||
|
### 2.6.8 枚举转换层
|
||||||
|
|
||||||
|
RHI枚举使用独立编号(与任何图形API无关),通过转换层转换为特定API:
|
||||||
|
```cpp
|
||||||
|
// RHI枚举(独立编号)
|
||||||
|
enum class FillMode { Wireframe, Solid };
|
||||||
|
|
||||||
|
// D3D12转换层
|
||||||
|
inline D3D12_FILL_MODE ToD3D12(FillMode mode) {
|
||||||
|
switch (mode) {
|
||||||
|
case FillMode::Wireframe: return D3D12_FILL_MODE_WIREFRAME;
|
||||||
|
case FillMode::Solid: return D3D12_FILL_MODE_SOLID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user