Modalità di riquadri dell'area di una risorsa affiancata
Quando si crea una risorsa affiancata, le dimensioni, le dimensioni dell'elemento di formato e il numero di mipmap e/o sezioni di matrice (se applicabile) determinano il numero di riquadri necessari per eseguire il backup dell'intera area di superficie. Il layout pixel/byte all'interno dei riquadri è determinato dall'implementazione. Il numero di pixel che rientrano in un riquadro, a seconda della dimensione dell'elemento di formato, è fisso e identico se si usa uno swizzle standard o meno.
Il numero di riquadri che verranno utilizzati da una determinata dimensione della superficie e dalla larghezza dell'elemento di formato è ben definito e prevedibile in base alle tabelle nelle sezioni seguenti. Per le risorse che contengono mipmap o casi in cui le dimensioni della superficie non riempiono un riquadro, esistono alcuni vincoli e vengono descritti nella compressione mipmap.
Diverse risorse affiancate possono puntare a una memoria identica con formati diversi, purché le applicazioni non si basano sui risultati della scrittura nella memoria con un formato e la lettura con un altro. Tuttavia, in circostanze vincolate, le applicazioni possono basarsi sui risultati della scrittura nella memoria con un formato e la lettura con un altro se i formati si trovano nella stessa famiglia di formati ,ovvero hanno lo stesso formato padre senza tipi. Ad esempio, DXGI_FORMAT_R8G8B8A8_UNORM e DXGI_FORMAT_R8G8B8A8_UINT sono compatibili tra loro, ma non con DXGI_FORMAT_R16G16_UNORM. Un'applicazione deve corrispondere in modo conservativo a tutte le proprietà delle risorse per reinterpretare i dati tra due trame poiché i modelli di riquadro sono molto conservativi. Ovviamente, il formato è più lax. I formati devono essere compatibili solo come illustrato in precedenza. Un'eccezione è la posizione in cui i dati sanguinanti da un aliasing di formato a un altro sono ben definiti: se un riquadro contiene completamente 0 per tutti i relativi bit, tale riquadro può essere usato con qualsiasi formato che interpreta il contenuto della memoria come 0 (indipendentemente dal layout di memoria). Quindi, un riquadro potrebbe essere cancellato per 0x00 con il formato DXGI_FORMAT_R8_UNORM e quindi usato con un formato come DXGI_FORMAT_R32G32_FLOAT e apparirebbe ancora il contenuto (0,0f,0,0f).
Il layout dei dati all'interno di un riquadro può dipendere dalle proprietà delle risorse, dalla sottorisorsa in cui risiede e dalla posizione del riquadro all'interno della sottorisorsa. Le eccezioni principali sono illustrate in precedenza: formati compatibili con altre proprietà delle risorse uguali e quando tutti i texel sono uguali.
Contenuto della sezione
Argomento | Descrizione |
---|---|
Divisione in riquadri di sottorisorse Texture2D e Texture2DArray |
Queste tabelle mostrano come vengono affiancate le sottorisorse Texture2D e Texture2DArray . |
Divisione in riquadri di sottorisorse Texture3D |
Questa tabella mostra come vengono affiancate le sottorisorse Texture3D . |
Divisione in riquadri di buffer |
Una risorsa Buffer è divisa in riquadri da 64 KB, con uno spazio vuoto nell'ultimo riquadro se la dimensione non è un multiplo di 64 KB. |
Compressione di mipmap |
A seconda del livello di supporto delle risorse affiancate, le mipmap con determinate dimensioni non seguono le forme del riquadro standard e vengono considerate tutte compresse tra loro in modo opaco per l'applicazione. |