docs: update RHI API docs
This commit is contained in:
42
docs/api/rhi/d3d12/texture/ctor.md
Normal file
42
docs/api/rhi/d3d12/texture/ctor.md
Normal 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) - 初始化深度模板纹理
|
||||
42
docs/api/rhi/d3d12/texture/dtor.md
Normal file
42
docs/api/rhi/d3d12/texture/dtor.md
Normal 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) - 关闭纹理
|
||||
32
docs/api/rhi/d3d12/texture/get-size.md
Normal file
32
docs/api/rhi/d3d12/texture/get-size.md
Normal 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) - 获取纹理高度
|
||||
50
docs/api/rhi/d3d12/texture/initialize-from-existing.md
Normal file
50
docs/api/rhi/d3d12/texture/initialize-from-existing.md
Normal 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) - 初始化深度模板纹理
|
||||
49
docs/api/rhi/d3d12/texture/initialize.md
Normal file
49
docs/api/rhi/d3d12/texture/initialize.md
Normal 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) - 初始化深度模板纹理
|
||||
@@ -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) - 抽象纹理接口
|
||||
|
||||
Reference in New Issue
Block a user