Files
XCEngine/docs/api/rhi/d3d12/texture/initialize-from-existing.md
2026-03-20 02:35:45 +08:00

1.3 KiB
Raw Blame History

D3D12Texture::InitializeFromExisting

函数签名

bool InitializeFromExisting(ID3D12Resource* resource);

中文描述

从已存在的 D3D12 纹理资源初始化纹理包装类,不分配新资源。此方法用于包装外部创建的纹理资源,例如从文件系统加载的纹理或与其他 API 共享的资源。

参数

参数 类型 描述
resource ID3D12Resource* 已存在的 D3D12 纹理资源指针,不能为 nullptr

返回值

bool - 初始化是否成功。如果 resource 为 nullptr返回 false。

线程安全

非线程安全,请确保在单线程环境中调用。

复杂度

O(1)

示例

ComPtr<ID3D12Resource> externalResource;
// 外部创建或获取的 D3D12 资源
device->CreateReservedResource(&desc, initialState, nullptr, IID_PPV_ARGS(&externalResource));

D3D12Texture texture;
if (texture.InitializeFromExisting(externalResource.Get())) {
    // 成功包装外部资源
    // 注意:外部资源的管理责任保持不变
}

相关文档