Restitution de la surface d’une ressource de diffusion en continu sous forme de mosaïque

Lorsque vous créez une ressource de diffusion en continu, les dimensions, la taille de l’élément de format et le nombre de mipmaps et/ou de tranches de tableau (le cas échéant) déterminent le nombre de vignettes requises pour sauvegarder l’ensemble de la surface d’exposition. La disposition en pixels/octets dans les vignettes est déterminée par l’implémentation. Le nombre de pixels qui tiennent dans une vignette, en fonction de la taille de l’élément de format, est fixe et identique, que vous utilisiez un swizzle standard ou non.

Le nombre de vignettes qui seront utilisées par une taille de surface et une largeur d’élément de format donnés est bien défini et prévisible en fonction des tableaux des sections suivantes. Pour les ressources qui contiennent des mipmaps ou des cas où les dimensions de surface ne remplissent pas une vignette, certaines contraintes existent ; consultez Empaquetage Mipmap.

Différentes ressources de diffusion en continu peuvent pointer vers une mémoire identique avec différents formats tant que les applications ne s’appuient pas sur les résultats de l’écriture en mémoire avec un format et de la lecture avec un autre. Toutefois, les applications peuvent s’appuyer sur les résultats de l’écriture en mémoire avec un format et de la lecture avec un autre si les formats se trouvent dans la même famille de formats (c’est-à-dire qu’ils ont le même format parent sans type). Par exemple, DXGI_FORMAT_R8G8B8A8_UNORM et DXGI_FORMAT_R8G8B8A8_UINT sont compatibles les uns avec les autres, mais pas avec DXGI_FORMAT_R16G16_UNORM.

Une exception est que les données de saignement d’un alias de format à un autre sont bien définies : si une vignette contient complètement 0 pour tous ses bits, cette vignette peut être utilisée avec n’importe quel format qui interprète ce contenu de mémoire comme 0 (quelle que soit la disposition de la mémoire). Ainsi, une vignette peut être effacée pour 0x00 avec le format DXGI_FORMAT_R8_UNORM, puis utilisée avec un format comme DXGI_FORMAT_R32G32_FLOAT et il semblerait que le contenu soit toujours (0.0f,0.0f).

La disposition des données dans une vignette ne dépend pas de l’emplacement où la vignette est mappée dans une ressource globale. Ainsi, par exemple, une vignette peut être réutilisée à différents emplacements d’une surface à la fois avec un comportement cohérent dans tous les emplacements.

Dans cette section

Rubrique Description

Restitution des sous-ressources Texture2D et Texture2DArray sous forme de mosaïque

Ces tableaux montrent comment les sous-ressources Texture2D et Texture2DArray sont en mosaïque.

Restitution de la sous-ressource Texture3D sous forme de mosaïque

Ce tableau montre comment les sous-ressources Texture3D sont en mosaïque.

Mosaïque de mémoires tampons

Une ressource Tampon est divisée en vignettes de 64 Ko, avec un espace vide dans la dernière vignette si la taille n’est pas un multiple de 64 Ko.

Compression de mipmaps

Un certain nombre de mips (par tranche de tableau) peut être empaqueté dans un certain nombre de vignettes, en fonction des dimensions, du format, du nombre de mipmaps et des tranches de tableau d’une ressource de diffusion en continu.

 

Création de ressources de diffusion en continu