Partager via


Fonction D3D12DecomposeSubresource

Génère la tranche mip, la tranche de tableau et la tranche de plan qui correspondent à l’index de sous-ressource spécifié.

Syntaxe

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

Paramètres

Sous-ressource

Type : UINT

Index de la sous-ressource.

MipLevels

Type : UINT

Nombre maximal de niveaux mipmap dans la sous-ressource.

ArraySize

Type : UINT

Nombre d’éléments dans le tableau.

MipSlice [out, ref]

Type : T

Génère la tranche mip qui correspond à l’index de sous-ressource donné.

ArraySlice [out, ref]

Type : U

Génère la tranche de tableau qui correspond à l’index de sous-ressource donné.

PlaneSlice [out, ref]

Type : V

Génère la tranche de plan qui correspond à l’index de sous-ressource donné.

Valeur retournée

Cette méthode ne retourne pas de valeur.

Notes

Cette fonction détermine la tranche mip, la tranche de tableau et la tranche de plan qui correspondent à un index de sous-ressource donné. Il s’agit d’un utilitaire utile, bien qu’il soit spécifique à C++.

Cette fonction est déclarée comme suit, avec des paramètres templatés C++ pour les types T, U et V :

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));
}

Spécifications

Condition requise Valeur
En-tête
D3dx12.h
Bibliothèque
D3D12.lib
DLL
D3D12.dll

Voir aussi

Fonctions d’assistance pour D3D12

Sous-ressources