Risorse riquadri del volume

Le trame del volume (3D) possono essere usate come risorse riquadri, notando che la risoluzione del riquadro è tridimensionale.

Panoramica

Le risorse riquadri separano un oggetto Risorsa D3D dalla memoria di backup (le risorse in passato hanno avuto una relazione 1:1 con la memoria di backup). Ciò consente un'ampia gamma di scenari interessanti, ad esempio lo streaming nei dati della trama e la riusazione o la riduzione dell'utilizzo della memoria

Le risorse con trama 2D sono supportate in D3D11.2. D3D12 e D3D11.3 aggiungono il supporto per trame riquadri 3D.

Le dimensioni di risorsa tipiche usate nella tiling sono 4 x 4 riquadri per trame 2D e 4 x 4 x 4 riquadri per trame 3D.

Bit/pixel (1 esempio/pixel) Dimensioni riquadro (pixel, w x x x d)
8 64x32x32
16 32x32x32
32 32x32x16
64 32x16x16
128 16x16x16
BC 1,4 128x64x16
BC 2,3,5,6,7 64x64x16

 

Si noti che i formati seguenti non sono supportati con le risorse riquadri: 96bpp formati, formati video, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM.

Nei diagrammi seguenti il grigio scuro rappresenta i riquadri NULL.

Mapping predefinito delle risorse riquadri trama 3D (mip più dettagliato)

mapping predefinito del mip più dettagliato

Mapping predefinito delle risorse riquadri trama 3D (secondo mip più dettagliato)

mapping predefinito del secondo mip più dettagliato

Risorsa riquadri trama 3D (mip più dettagliata)

Il codice seguente configura una risorsa riquadri 3D al mip più dettagliato.

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 63;

mapping più dettagliato di una risorsa riquadri 3d

Risorsa riquadri trama 3D (secondo mip più dettagliato)

Il codice seguente configura una risorsa riquadri 3D e il secondo mip più dettagliato:

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 1;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 6;

secondo mapping più dettagliato di una risorsa riquadri 3d

Risorsa riquadri trama 3D (singolo riquadro)

Il codice seguente configura una risorsa a riquadro singolo:

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 1;
trCoord.Z = 1;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

un singolo riquadro

Risorsa riquadri trama 3D (casella uniforme)

Il codice seguente configura una risorsa a riquadri Uniform Box (notare l'istruzione trSize.bUseBox = true;) :

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 0;
trCoord.Y = 1;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

una scatola uniforme

API risorsa riquadri D3D11.3

Le stesse chiamate API vengono usate per le risorse riquadri 2D e 3D:

Enumerazioni

Strutture

Metodi

Funzionalità direct3D 11.3