D3D12DecomposeSubresource 函数

输出对应于指定子资源索引的 mip 切片、数组切片和平面切片。

语法

void inline D3D12DecomposeSubresource(
        UINT Subresource,
        UINT MipLevels,
        UINT ArraySize,
  _Out_ T    &MipSlice,
  _Out_ U    &ArraySlice,
  _Out_ V    &PlaneSlice
);

parameters

子资源

类型: UINT

子资源的索引。

MipLevels

类型: UINT

子资源中 mipmap 级别的最大数目。

ArraySize

类型: UINT

数组中的元素数。

MipSlice [out, ref]

类型: T

输出对应于给定子资源索引的 mip 切片。

ArraySlice [out, ref]

类型: U

输出对应于给定子资源索引的数组切片。

PlaneSlice [out, ref]

类型: V

输出对应于给定子资源索引的平面切片。

返回值

此方法不返回值。

备注

此函数确定哪个 mip 切片、数组切片和平面切片对应于给定的子资源索引。 这是一个有用的实用工具,尽管它是特定于 C++ 的。

此函数声明如下,使用 TUV 类型的 C++ 模板化参数:

template <typename T, typename U, typename V>
inline void D3D12DecomposeSubresource( UINT Subresource, UINT MipLevels, UINT ArraySize, _Out_ T& MipSlice, _Out_ U& ArraySlice, _Out_ V& PlaneSlice )
{
    MipSlice = static_cast<T>(Subresource % MipLevels);
    ArraySlice = static_cast<U>((Subresource / MipLevels) % ArraySize);
    PlaneSlice = static_cast<V>(Subresource / (MipLevels * ArraySize));
}

要求

要求
标头
D3dx12.h

D3D12.lib
DLL
D3D12.dll

请参阅

D3D12 的帮助程序函数

子资源