docs: 更新第二阶段计划,反映实际目录结构和已完成任务
This commit is contained in:
@@ -20,32 +20,33 @@
|
||||
## 2.2 目录结构
|
||||
|
||||
```
|
||||
RHI/ # 渲染硬件抽象层
|
||||
├── RHISystem.h # RHI 系统入口
|
||||
├── RHIDevice.h # 抽象设备接口
|
||||
├── Types.h # 通用类型定义
|
||||
├── Enums.h # 枚举定义
|
||||
├── Resource.h # 资源基类接口
|
||||
├── ResourceView.h # 资源视图基类接口
|
||||
├── RenderTargetView.h # 渲染目标视图接口
|
||||
├── DepthStencilView.h # 深度模板视图接口
|
||||
├── ShaderResourceView.h # 着色器资源视图接口
|
||||
├── UnorderedAccessView.h # 无序访问视图接口
|
||||
├── ConstantBufferView.h # 常量缓冲区视图接口
|
||||
├── CommandQueue.h # 命令队列
|
||||
├── CommandList.h # 命令列表
|
||||
├── CommandAllocator.h # 命令分配器
|
||||
├── Fence.h # 同步围栏
|
||||
├── DescriptorHeap.h # 描述符堆
|
||||
├── QueryHeap.h # 查询堆
|
||||
├── RootSignature.h # 根签名
|
||||
├── PipelineState.h # 管线状态
|
||||
├── Sampler.h # 采样器
|
||||
├── SwapChain.h # 交换链
|
||||
├── Texture.h # 纹理资源
|
||||
├── Buffer.h # 缓冲区资源
|
||||
├── Shader.h # 着色器
|
||||
└── D3D12/ # D3D12 后端实现
|
||||
engine/include/XCEngine/RHI/ # 渲染硬件抽象层(公开API)
|
||||
├── Enums.h # 枚举定义(独立编号,跨平台)
|
||||
├── Types.h # 通用类型定义
|
||||
├── RHISystem.h # RHI 系统入口
|
||||
├── RHIDevice.h # 抽象设备接口
|
||||
├── Resource.h # 资源基类接口
|
||||
├── ResourceView.h # 资源视图基类接口
|
||||
├── RenderTargetView.h # 渲染目标视图接口
|
||||
├── DepthStencilView.h # 深度模板视图接口
|
||||
├── ShaderResourceView.h # 着色器资源视图接口
|
||||
├── UnorderedAccessView.h # 无序访问视图接口
|
||||
├── ConstantBufferView.h # 常量缓冲区视图接口
|
||||
├── CommandQueue.h # 命令队列
|
||||
├── CommandList.h # 命令列表
|
||||
├── CommandAllocator.h # 命令分配器
|
||||
├── Fence.h # 同步围栏
|
||||
├── DescriptorHeap.h # 描述符堆
|
||||
├── QueryHeap.h # 查询堆
|
||||
├── RootSignature.h # 根签名
|
||||
├── PipelineState.h # 管线状态
|
||||
├── Sampler.h # 采样器
|
||||
├── SwapChain.h # 交换链
|
||||
├── Texture.h # 纹理资源
|
||||
├── Buffer.h # 缓冲区资源
|
||||
├── Shader.h # 着色器
|
||||
└── D3D12/ # D3D12 后端实现
|
||||
├── D3D12Enum.h # 枚举转换层(RHI→D3D12)
|
||||
├── D3D12Device.h
|
||||
├── D3D12Device.cpp
|
||||
├── D3D12CommandList.h
|
||||
@@ -84,7 +85,7 @@ RHI/ # 渲染硬件抽象层
|
||||
├── D3D12UnorderedAccessView.cpp
|
||||
├── D3D12ConstantBufferView.h
|
||||
├── D3D12ConstantBufferView.cpp
|
||||
└── D3D12Common.h # 公共定义
|
||||
└── D3D12Common.h # 公共定义
|
||||
```
|
||||
|
||||
---
|
||||
@@ -696,8 +697,11 @@ D3D12相关的公共定义和辅助函数:
|
||||
|
||||
```
|
||||
阶段 2.1: 基础枚举与类型 (1天)
|
||||
├── 2.1.1 Enums.h
|
||||
└── 2.1.2 Types.h (通用类型定义)
|
||||
├── 2.1.1 Enums.h [已完成]
|
||||
│ └── RHI枚举定义(独立编号)
|
||||
├── 2.1.2 Types.h (通用类型定义)
|
||||
└── 2.1.3 D3D12Enum.h [已完成]
|
||||
└── 枚举转换层(RHI→D3D12)
|
||||
|
||||
阶段 2.2: 核心接口定义 (3天)
|
||||
├── 2.2.1 RHISystem.h
|
||||
@@ -798,6 +802,23 @@ D3D12要求严格的状态管理:
|
||||
- GPUDescriptorHandle/CPUDescriptorHandle 作为通用句柄类型
|
||||
- 资源状态使用统一的ResourceStates枚举
|
||||
- 创建描述符结构体独立于特定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