docs: update RHI API docs
This commit is contained in:
22
docs/api/rhi/d3d12/unordered-access-view/constructor.md
Normal file
22
docs/api/rhi/d3d12/unordered-access-view/constructor.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# D3D12UnorderedAccessView::D3D12UnorderedAccessView
|
||||
|
||||
## 函数签名
|
||||
|
||||
```cpp
|
||||
D3D12UnorderedAccessView();
|
||||
```
|
||||
|
||||
## 中文描述
|
||||
|
||||
构造一个空的 `D3D12UnorderedAccessView` 对象。
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
D3D12UnorderedAccessView uav;
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12UnorderedAccessView](unordered-access-view.md) - 类总览
|
||||
- [Initialize](initialize.md) - 初始化方法
|
||||
16
docs/api/rhi/d3d12/unordered-access-view/destructor.md
Normal file
16
docs/api/rhi/d3d12/unordered-access-view/destructor.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# D3D12UnorderedAccessView::~D3D12UnorderedAccessView
|
||||
|
||||
## 函数签名
|
||||
|
||||
```cpp
|
||||
~D3D12UnorderedAccessView();
|
||||
```
|
||||
|
||||
## 中文描述
|
||||
|
||||
销毁 `D3D12UnorderedAccessView` 对象,自动调用 `Shutdown`。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12UnorderedAccessView](unordered-access-view.md) - 类总览
|
||||
- [Shutdown](shutdown.md) - 关闭方法
|
||||
@@ -21,7 +21,9 @@ O(1)
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE handle = uav->GetCPUDescriptorHandle();
|
||||
D3D12UnorderedAccessView uav;
|
||||
uav.Initialize(device, resource);
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE handle = uav.GetCPUDescriptorHandle();
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
60
docs/api/rhi/d3d12/unordered-access-view/index.md
Normal file
60
docs/api/rhi/d3d12/unordered-access-view/index.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# D3D12UnorderedAccessView
|
||||
|
||||
## 命名空间
|
||||
|
||||
`XCEngine::RHI`
|
||||
|
||||
## 类型
|
||||
|
||||
类 (Class)
|
||||
|
||||
## 描述
|
||||
|
||||
D3D12 无序访问视图 (Unordered Access View, UAV) 封装类,用于在 D3D12 渲染管线中提供对资源的无序读/写访问能力。UAV 允许着色器对资源进行非同步访问,适用于并行计算和延迟渲染等场景。
|
||||
|
||||
## 概述
|
||||
|
||||
`D3D12UnorderedAccessView` 封装了 D3D12 UAV 的创建和生命周期管理。UAV 是一种可以同时被 GPU 读取和写入的资源视图,常见用途包括:
|
||||
|
||||
- 计算着色器 (Compute Shader) 的数据存储
|
||||
- 延迟渲染中的光照参数存储
|
||||
- 粒子系统的位置/速度数据
|
||||
- 纹理流式传输缓冲
|
||||
|
||||
## 公共方法表格
|
||||
|
||||
| 方法 | 签名 | 描述 |
|
||||
|------|------|------|
|
||||
| `Initialize` | `void Initialize(ID3D12Device* device, ID3D12Resource* resource, const D3D12_UNORDERED_ACCESS_VIEW_DESC* desc = nullptr)` | 初始化 UAV,创建 D3D12 无序访问视图 |
|
||||
| `Shutdown` | `void Shutdown()` | 释放 UAV 相关资源 |
|
||||
| `GetCPUDescriptorHandle` | `D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandle() const` | 获取 CPU 端的描述符句柄 |
|
||||
|
||||
## 使用示例
|
||||
|
||||
```cpp
|
||||
#include "XCEngine/RHI/D3D12/D3D12UnorderedAccessView.h"
|
||||
#include "XCEngine/RHI/D3D12/D3D12Device.h"
|
||||
|
||||
// 创建设备和资源后...
|
||||
D3D12Device* device = ...;
|
||||
ID3D12Resource* bufferResource = ...;
|
||||
|
||||
// 创建无序访问视图
|
||||
XCEngine::RHI::D3D12UnorderedAccessView uav;
|
||||
uav.Initialize(device->GetDevice(), bufferResource, nullptr);
|
||||
|
||||
// 在命令列表中设置 UAV
|
||||
commandList->SetComputeRootUnorderedAccessView(
|
||||
parameterIndex,
|
||||
uav.GetCPUDescriptorHandle()
|
||||
);
|
||||
|
||||
// 使用完毕后清理
|
||||
uav.Shutdown();
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12ShaderResourceView](../shader-resource-view/)
|
||||
- [D3D12RenderTargetView](../render-target-view/)
|
||||
- [D3D12ConstantBufferView](../constant-buffer-view/)
|
||||
39
docs/api/rhi/d3d12/unordered-access-view/initialize.md
Normal file
39
docs/api/rhi/d3d12/unordered-access-view/initialize.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# D3D12UnorderedAccessView::Initialize
|
||||
|
||||
## 函数签名
|
||||
|
||||
```cpp
|
||||
void Initialize(
|
||||
ID3D12Device* device,
|
||||
ID3D12Resource* resource,
|
||||
const D3D12_UNORDERED_ACCESS_VIEW_DESC* desc = nullptr
|
||||
);
|
||||
```
|
||||
|
||||
## 中文描述
|
||||
|
||||
初始化无序访问视图。
|
||||
|
||||
## 参数
|
||||
|
||||
| 参数 | 类型 | 描述 |
|
||||
|------|------|------|
|
||||
| `device` | `ID3D12Device*` | D3D12 设备指针 |
|
||||
| `resource` | `ID3D12Resource*` | D3D12 资源指针 |
|
||||
| `desc` | `const D3D12_UNORDERED_ACCESS_VIEW_DESC*` | UAV 描述符,可选 |
|
||||
|
||||
## 返回值
|
||||
|
||||
无
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
D3D12UnorderedAccessView uav;
|
||||
uav.Initialize(device, resource, &uavDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12UnorderedAccessView](unordered-access-view.md) - 类总览
|
||||
- [Shutdown](shutdown.md) - 关闭方法
|
||||
28
docs/api/rhi/d3d12/unordered-access-view/shutdown.md
Normal file
28
docs/api/rhi/d3d12/unordered-access-view/shutdown.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# D3D12UnorderedAccessView::Shutdown
|
||||
|
||||
## 函数签名
|
||||
|
||||
```cpp
|
||||
void Shutdown();
|
||||
```
|
||||
|
||||
## 中文描述
|
||||
|
||||
关闭无序访问视图,释放相关资源。
|
||||
|
||||
## 返回值
|
||||
|
||||
无
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
D3D12UnorderedAccessView uav;
|
||||
uav.Initialize(device, resource);
|
||||
uav.Shutdown();
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12UnorderedAccessView](unordered-access-view.md) - 类总览
|
||||
- [Initialize](initialize.md) - 初始化方法
|
||||
@@ -2,14 +2,20 @@
|
||||
|
||||
**命名空间**: `XCEngine::RHI`
|
||||
|
||||
**描述**: DirectX 12 无序访问视图的 D3D12 实现。
|
||||
**描述**: DirectX 12 无序访问视图 (Unordered Access View, UAV) 的 D3D12 实现封装类。UAV 允许着色器对资源进行非同步的读写访问,主要用于计算着色器和延迟渲染场景。
|
||||
|
||||
此类管理 D3D12 UAV 的创建和生命周期,封装了 `ID3D12Resource` 和 CPU 描述符句柄。
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| [`GetCPUDescriptorHandle`](get-cpu-descriptor-handle.md) | 获取 CPU 描述符句柄 |
|
||||
| 方法 | 签名 | 描述 |
|
||||
|------|------|------|
|
||||
| [`D3D12UnorderedAccessView`](constructor.md) | `D3D12UnorderedAccessView()` | 默认构造函数 |
|
||||
| [`~D3D12UnorderedAccessView`](destructor.md) | `~D3D12UnorderedAccessView()` | 析构函数 |
|
||||
| [`Initialize`](initialize.md) | `void Initialize(ID3D12Device* device, ID3D12Resource* resource, const D3D12_UNORDERED_ACCESS_VIEW_DESC* desc = nullptr)` | 初始化 UAV |
|
||||
| [`Shutdown`](shutdown.md) | `void Shutdown()` | 释放 UAV 资源 |
|
||||
| [`GetCPUDescriptorHandle`](get-cpu-descriptor-handle.md) | `D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandle() const` | 获取 CPU 描述符句柄 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12 后端总览](../../opengl/overview.md)
|
||||
- [D3D12 后端总览](../d3d12.md)
|
||||
|
||||
Reference in New Issue
Block a user