docs: update RHI API docs
This commit is contained in:
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) - 初始化深度模板纹理
|
||||
Reference in New Issue
Block a user