语法
参数
pHeap类型:ID3D12Heap * 指向 ID3D12Heap 接口的指针,该接口表示资源所在的堆。 HeapOffset
类型:UINT64 到资源的偏移量(以字节为单位)。HeapOffset 必须是资源对齐的倍数,HeapOffset 加上资源大小必须小于或等于堆大小。必须使用 GetResourceAllocationInfo 来了解纹理资源的大小。 pDesc
类型:const D3D12_RESOURCE_DESC1 * 指向 D3D12_RESOURCE_DESC 结构的指针,该结构描述资源。 InitialLayout
类型:D3D12_BARRIER_LAYOUT 纹理资源的初始布局;对于缓冲区为 D3D12_BARRIER_LAYOUT::D3D12_BARRIER_LAYOUT_UNDEFINED。 pOptimizedClearValue
类型:const D3D12_CLEAR_VALUE * 指定一个 D3D12_CLEAR_VALUE,用于描述清除颜色的默认值。 pOptimizedClearValue 指定一个使清除操作最优的值。当创建的资源是带有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 或 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 标志的纹理时,您的应用程序应选择最常用于调用清除操作的值。 可以使用其他值调用清除操作,但这些操作不如在值与传递给资源创建时的值匹配的情况下高效。 与 D3D12_RESOURCE_DIMENSION_BUFFER 一起使用时,pOptimizedClearValue 必须为 NULL。 NumCastableFormats
类型:UINT32 pCastableFormats 中的元素数量。 pCastableFormats
类型:DXGI_FORMAT * 此资源可强制转换到的 DXGI_FORMAT 结构的连续数组。 riid
类型:const IID & 资源接口的全局唯一标识符 (GUID)。这是一个输入参数。 可以使用
__uuidof 宏获取资源接口的 REFIID 或 GUID。例如,__uuidof(ID3D12Resource) 获取资源接口的 GUID。虽然 riid 最常见的是 ID3D12Resource 的 GUID,但它可以是任何接口的任何 GUID。如果资源对象不支持此 GUID 的接口,则创建将失败并返回 E_NOINTERFACE。
ppvResource类型:void ** 指向内存块的指针,该内存块接收指向资源的指针。ppvResource 可以为 NULL,以启用功能测试。当 ppvResource 为 NULL 时,不会创建对象,并且在 pResourceDesc 和其他参数有效时返回 S_FALSE。
返回值
类型:HRESULT 如果没有足够的内存来创建资源,此方法返回 E_OUTOFMEMORY。有关其他可能的返回值,请参阅 Direct3D 12 返回代码。备注
请参阅 ID3D12Device::CreatePlacedResource 的备注。要求
头文件: d3d12_xs.h库: d3d12_xs.lib
支持的平台:XBOX Series 主机
