Condividi tramite


Sottorisorse (Grafica Direct3D 11)

In questo argomento vengono descritte le sottorisorse delle texture o sottosezioni di una risorsa.

Direct3D può fare riferimento a un'intera risorsa o può fare riferimento a subset di una risorsa. Il termine sottorisorsa fa riferimento a un subset di una risorsa.

Un buffer viene definito come una singola sottorisorsa. Le trame sono leggermente più complesse perché esistono diversi tipi di trama (1D, 2D e così via) alcuni dei quali supportano livelli mipmap e/o matrici di trame. A partire dal caso più semplice, una trama 1D viene definita come una singola sottorisorsa, come illustrato nella figura seguente.

illustrazione di una trama 1d

Ciò significa che la matrice di texel che costituiscono una trama 1D è contenuta in una singola sottorisorsa.

Se si espande una trama 1D con tre livelli mipmap, può essere visualizzato come illustrato di seguito.

illustrazione di una trama 1d con tre livelli mipmap

Si consideri questa come una singola trama costituita da tre sottorisorse. È possibile indicizzare una sottorisorsa usando il livello di dettaglio (LOD) per una singola trama. Quando si usa una matrice di trame, l'accesso a una determinata sottorisorsa richiede sia il LOD che la trama specifica. In alternativa, l'API combina queste due informazioni in un singolo indice di sottorisorsa in base zero, come illustrato nella figura seguente.

illustrazione di un indice di sottorisorsa in base zero

Selezione di sottorisorse

Alcune API accedono a un'intera risorsa ,ad esempio il metodo ID3D11DeviceContext::CopyResource), altri accedono a una parte di una risorsa, ad esempio il metodo ID3D11DeviceContext::UpdateSubresource o il metodo ID3D11DeviceContext::CopySubresourceRegion). I metodi che accedono a una parte di una risorsa usano in genere una descrizione di visualizzazione, ad esempio la struttura D3D11_TEX2D_ARRAY_DSV, per specificare le sottorisorse a cui accedere.

Le illustrazioni nelle sezioni seguenti mostrano i termini usati da una descrizione di visualizzazione quando si accede a un array di texture.

Sezione della matrice

Data una matrice di trame, ogni trama con mipmap, una sezione di matrice (rappresentata dal rettangolo bianco) include una trama e tutte le relative sottorisorse, come illustrato nella figura seguente.

illustrazione di una sezione di matrice

Sezione Mip

Una sezione mip (rappresentata dal rettangolo bianco) include un livello mipmap per ogni texture in una matrice, come mostrato nella figura seguente.

illustrazione di una sezione mip

Selezione di una singola sottorisorsa

È possibile usare questi due tipi di sezioni per scegliere una singola sottorisorsa, come illustrato nella figura seguente.

illustrazione della scelta di una sottorisorsa usando una sezione di matrice e una sezione mip

Selezione di più sottorisorse

In alternativa, è possibile usare questi due tipi di sezioni con il numero di livelli mipmap e/o il numero di trame, per scegliere più sottorisorse, come illustrato nella figura seguente.

illustrazione della scelta di più sottorisorse

Nota

Una visualizzazione di destinazione di rendering può usare solo una singola sottorisorsa o una sezione mip e non può includere sottorisorse da più sezioni mip. Ovvero, ogni texture in una vista del target di rendering deve essere della stessa dimensione. Una visualizzazione delle risorse shader può selezionare qualsiasi area rettangolare di sottorisorse, come mostrato nella figura.

 

Risorse