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 de pixel/octet dans les vignettes est déterminée par l’implémentation. Le nombre de pixels qui s’intègrent dans une vignette, selon la taille de l’élément de format, est fixe et identique si vous utilisez un swizzle standard ou non.
Le nombre de vignettes qui seront utilisées par une taille de surface donnée et la largeur de l’élément de format sont bien définies et prévisibles 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 de vignette, certaines contraintes existent ; voir emballage Mipmap.
Différentes ressources de diffusion en continu peuvent pointer vers une mémoire identique avec des formats différents tant que les applications ne s’appuient pas sur les résultats de l’écriture dans la mémoire avec un format et la lecture avec un autre. Toutefois, les applications peuvent s’appuyer sur les résultats de l’écriture dans la mémoire avec un format et la lecture avec une autre si les formats se trouvent dans la même famille de formats (autrement dit, 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 l’endroit où le saignement des données d’un alias de format à un autre est bien défini : 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 le contenu de la mémoire comme 0 (quelle que soit la disposition de la mémoire). Par conséquent, une vignette peut être effacée pour 0x00 avec le format DXGI_FORMAT_R8_UNORM, puis utilisée avec un format tel que DXGI_FORMAT_R32G32_FLOAT et il semble 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. Par exemple, une vignette peut être réutilisée dans différents emplacements d’une surface à la fois avec un comportement cohérent dans tous les emplacements.
Dans cette section
Sujet | Description |
---|---|
Ces tableaux montrent comment les sous-ressources Texture2D et Texture2DArray sont en mosaïques. |
|
Ce tableau montre comment les sous-ressources Texture3D sont mosaïques. |
|
Une ressource de mémoire 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. |
|
Un certain nombre de mips (par tranche de tableau) peut être emballé 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. |
Rubriques connexes
Création de ressources de streaming