68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
|
|
# D3D12Common
|
||
|
|
|
||
|
|
**命名空间**: `XCEngine::RHI`
|
||
|
|
|
||
|
|
**描述**: D3D12 通用辅助函数集合,提供描述符大小、屏障创建、格式支持检查等功能。**所有函数均为 inline 函数**。
|
||
|
|
|
||
|
|
## 函数列表
|
||
|
|
|
||
|
|
### 描述符大小
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `GetDescriptorHandleIncrementSize` | 获取描述符增量大小 |
|
||
|
|
| `GetRTVDescriptorSize` | 获取 RTV 描述符大小 |
|
||
|
|
| `GetDSVDescriptorSize` | 获取 DSV 描述符大小 |
|
||
|
|
| `GetCBV_SRV_UAVDescriptorSize` | 获取 CBV/SRV/UAV 描述符大小 |
|
||
|
|
| `GetSamplerDescriptorSize` | 获取 Sampler 描述符大小 |
|
||
|
|
|
||
|
|
### 屏障创建
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `CreateTransitionBarrier` | 创建资源状态转换屏障 |
|
||
|
|
| `CreateUAVBarrier` | 创建 UAV 屏障 |
|
||
|
|
| `CreateAliasingBarrier` | 创建别名化屏障 |
|
||
|
|
|
||
|
|
### 格式支持
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `CheckFormatSupport` | 检查格式支持 |
|
||
|
|
| `IsRenderTargetFormatSupported` | 检查是否支持作为渲染目标 |
|
||
|
|
| `IsDepthStencilFormatSupported` | 检查是否支持作为深度模板 |
|
||
|
|
| `IsShaderResourceFormatSupported` | 检查 shader 是否可读取 |
|
||
|
|
| `IsTextureFormatSupported` | 检查是否支持作为纹理 |
|
||
|
|
|
||
|
|
### 清除值创建
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `CreateRenderTargetClearValue` | 创建渲染目标清除值 |
|
||
|
|
| `CreateDepthStencilClearValue` | 创建深度模板清除值 |
|
||
|
|
|
||
|
|
### 视口和裁剪矩形
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `CreateViewport` | 创建视口 |
|
||
|
|
| `CreateScissorRect` | 创建裁剪矩形 |
|
||
|
|
|
||
|
|
### 缓冲区视图
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `CreateVertexBufferView` | 创建顶点缓冲区视图 |
|
||
|
|
| `CreateIndexBufferView` | 创建索引缓冲区视图 |
|
||
|
|
|
||
|
|
### 描述符句柄运算
|
||
|
|
|
||
|
|
| 函数 | 描述 |
|
||
|
|
|------|------|
|
||
|
|
| `GetCPUDescriptorHandle` | 计算偏移后的 CPU 描述符句柄 |
|
||
|
|
| `GetGPUDescriptorHandle` | 计算偏移后的 GPU 描述符句柄 |
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [D3D12 后端总览](../overview.md)
|