docs: update RHI API docs

This commit is contained in:
2026-03-20 02:35:45 +08:00
parent ea756c0177
commit 070b444f8f
501 changed files with 13493 additions and 2022 deletions

View File

@@ -0,0 +1,42 @@
# D3D12Texture::D3D12Texture
## 函数签名
```cpp
D3D12Texture();
```
## 中文描述
默认构造函数,创建一个空的 D3D12Texture 对象。需要调用 `Initialize` 或其他初始化方法才能使用。
## 参数
## 返回值
## 线程安全
非线程安全,对象构造时无需同步。
## 复杂度
O(1)
## 示例
```cpp
D3D12Texture texture;
// 需要调用 Initialize 等方法进行初始化
texture.Initialize(device, desc);
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [Initialize](initialize.md) - 初始化纹理
- [InitializeFromData](initialize-from-data.md) - 从数据初始化
- [InitializeDepthStencil](initialize-depth-stencil.md) - 初始化深度模板纹理

View File

@@ -0,0 +1,42 @@
# D3D12Texture::~D3D12Texture
## 函数签名
```cpp
~D3D12Texture() override;
```
## 中文描述
析构函数,调用 `Shutdown` 释放资源并销毁 D3D12 资源对象。
## 参数
## 返回值
## 线程安全
非线程安全,请在所有 GPU 操作完成后销毁对象。
## 复杂度
O(n) - 取决于资源释放时间
## 示例
```cpp
{
D3D12Texture texture;
texture.Initialize(device, desc);
// ... 使用 texture ...
} // 超出作用域时自动调用析构函数,释放资源
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [Shutdown](../../../threading/task-system/shutdown.md) - 关闭纹理

View File

@@ -0,0 +1,32 @@
# D3D12Texture::GetSize
## 函数签名
```cpp
size_t GetSize() const
```
## 中文描述
计算并返回纹理的总大小(字节)。计算方式为 `宽度 × 高度 × 深度或数组大小`
## 返回值
`size_t` - 纹理大小(字节)
## 复杂度
O(1)
## 示例
```cpp
size_t size = texture->GetSize();
printf("Texture size: %zu bytes\n", size);
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [GetWidth](../../texture/get-width.md) - 获取纹理宽度
- [GetHeight](../../texture/get-height.md) - 获取纹理高度

View File

@@ -0,0 +1,50 @@
# D3D12Texture::InitializeFromExisting
## 函数签名
```cpp
bool InitializeFromExisting(ID3D12Resource* resource);
```
## 中文描述
从已存在的 D3D12 纹理资源初始化纹理包装类,不分配新资源。此方法用于包装外部创建的纹理资源,例如从文件系统加载的纹理或与其他 API 共享的资源。
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `resource` | `ID3D12Resource*` | 已存在的 D3D12 纹理资源指针,不能为 nullptr |
## 返回值
`bool` - 初始化是否成功。如果 `resource` 为 nullptr返回 false。
## 线程安全
非线程安全,请确保在单线程环境中调用。
## 复杂度
O(1)
## 示例
```cpp
ComPtr<ID3D12Resource> externalResource;
// 外部创建或获取的 D3D12 资源
device->CreateReservedResource(&desc, initialState, nullptr, IID_PPV_ARGS(&externalResource));
D3D12Texture texture;
if (texture.InitializeFromExisting(externalResource.Get())) {
// 成功包装外部资源
// 注意:外部资源的管理责任保持不变
}
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [Initialize](initialize.md) - 创建新纹理
- [InitializeFromData](initialize-from-data.md) - 从数据初始化
- [InitializeDepthStencil](initialize-depth-stencil.md) - 初始化深度模板纹理

View File

@@ -0,0 +1,49 @@
# D3D12Texture::Initialize
## 函数签名
```cpp
bool Initialize(ID3D12Device* device, const D3D12_RESOURCE_DESC& desc, D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_COMMON)
```
## 中文描述
分配并初始化一个 D3D12 纹理资源。
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `device` | `ID3D12Device*` | D3D12 设备指针 |
| `desc` | `const D3D12_RESOURCE_DESC&` | 纹理资源描述符 |
| `initialState` | `D3D12_RESOURCE_STATES` | 初始资源状态(默认 D3D12_RESOURCE_STATE_COMMON |
## 返回值
`bool` - 初始化是否成功
## 复杂度
O(n) - 取决于纹理大小
## 示例
```cpp
D3D12_RESOURCE_DESC desc = {};
desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
desc.Width = 1920;
desc.Height = 1080;
desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
desc.Flags = D3D12_RESOURCE_FLAG_NONE;
D3D12Texture texture;
if (texture.Initialize(device, desc)) {
// 纹理初始化成功
}
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [InitializeFromData](initialize-from-data.md) - 从数据初始化
- [InitializeDepthStencil](initialize-depth-stencil.md) - 初始化深度模板纹理

View File

@@ -8,10 +8,13 @@
| 方法 | 描述 |
|------|------|
| [`InitializeFromExisting`](../buffer/initialize-from-existing.md) | 从现有资源初始化 |
| [`D3D12Texture`](ctor.md) | 默认构造函数 |
| [`~D3D12Texture`](dtor.md) | 析构函数 |
| [`Initialize`](initialize.md) | 初始化纹理 |
| [`InitializeFromExisting`](initialize-from-existing.md) | 从现有资源初始化 |
| [`InitializeFromData`](initialize-from-data.md) | 从数据初始化纹理 |
| [`InitializeDepthStencil`](initialize-depth-stencil.md) | 初始化深度模板纹理 |
| [`Shutdown`](../../../threading/task-system/shutdown.md) | 关闭纹理 |
| [`Shutdown`](../../texture/shutdown.md) | 关闭纹理 |
| [`GetResource`](../buffer/get-resource.md) | 获取 D3D12 资源 |
| [`GetDesc`](../buffer/get-desc.md) | 获取纹理描述符 |
| [`GetWidth`](../../texture/get-width.md) | 获取纹理宽度 |
@@ -20,16 +23,16 @@
| [`GetMipLevels`](../../texture/get-mip-levels.md) | 获取 Mip 级别 |
| [`GetArraySize`](get-array-size.md) | 获取数组大小 |
| [`GetGPUAddress`](../buffer/get-gpu-address.md) | 获取 GPU 地址 |
| [`GetSize`](../../buffer/get-size.md) | 获取纹理大小 |
| [`GetName`](../../buffer/get-name.md) | 获取纹理名称 |
| [`SetName`](../../buffer/set-name.md) | 设置纹理名称 |
| [`GetSize`](get-size.md) | 获取纹理大小 |
| [`GetName`](../../texture/get-name.md) | 获取纹理名称 |
| [`SetName`](../../texture/set-name.md) | 设置纹理名称 |
| [`GetFormat`](../../texture/get-format.md) | 获取纹理格式 |
| [`GetTextureType`](../../texture/get-texture-type.md) | 获取纹理类型 |
| [`GetState`](../../buffer/get-state.md) | 获取资源状态 |
| [`SetState`](../../buffer/set-state.md) | 设置资源状态 |
| [`GetNativeHandle`](../../buffer/get-native-handle.md) | 获取原生句柄 |
| [`GetState`](../../texture/get-state.md) | 获取资源状态 |
| [`SetState`](../../texture/set-state.md) | 设置资源状态 |
| [`GetNativeHandle`](../../texture/get-native-handle.md) | 获取原生句柄 |
## 相关文档
- [D3D12 后端](../../opengl/overview.md)
- [D3D12 后端](../d3d12.md)
- [RHITexture](../../texture/texture.md) - 抽象纹理接口