Visualizzazioni trama (Direct3D 10)

In Direct3D 10, le risorse di trama sono accessibili con una visualizzazione, che è un meccanismo per l'interpretazione hardware di una risorsa in memoria. Una visualizzazione consente a una determinata fase della pipeline di accedere solo alle sottorisorse necessarie, nella rappresentazione desiderata dall'applicazione.

Una vista supporta la nozione di una risorsa senza tipo. Una risorsa senza tipo è una risorsa creata con dimensioni specifiche, ma non con un tipo di dati specifico. I dati sono interpretati in modo dinamico quando sono associati alla pipeline.

La figura seguente mostra un esempio di associazione di una matrice di trame 2D con 6 trame come risorsa shader creando una visualizzazione risorse shader per tale matrice. La risorsa viene quindi indirizzata come matrice di trame. Nota: una sottorisorsa non può essere associata contemporaneamente come input e output alla pipeline.

illustrazione di una matrice di trame con sei trame

Quando si usa una matrice di trame 2D come destinazione di rendering, la risorsa può essere visualizzata come matrice di trame 2D (6 in questo esempio) con livelli mipmap (3 in questo esempio).

Creare un oggetto visualizzazione per una destinazione di rendering chiamando CreateRenderTargetView. Chiamare quindi OMSetRenderTargets per impostare la visualizzazione di destinazione di rendering sulla pipeline. Eseguire il rendering nelle destinazioni di rendering chiamando Draw e usando RenderTargetArrayIndex per indicizzare la trama corretta nella matrice. È possibile usare una sottorisorsa (una combinazione di indice mipmap, matrice) per eseguire l'associazione a qualsiasi matrice di sottorisorse. È quindi possibile eseguire il binding al secondo livello mipmap e aggiornare questo particolare livello mipmap se si vuole, come illustrato nella figura seguente.

illustrazione dell'associazione solo al secondo livello mipmap di una matrice di trame

Differenze tra Direct3D 9 e Direct3D 10:

  • In Direct3D 10 non si associa più una risorsa direttamente alla pipeline, si crea una visualizzazione di una risorsa e quindi si imposta la visualizzazione sulla pipeline. In questo modo, la convalida e il mapping nel runtime e nel driver vengono eseguiti durante la creazione della visualizzazione, riducendo al minimo il controllo dei tipi in fase di associazione.

 

Risorse (Direct3D 10)