Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'hardware grafico che supporta Direct3D versione 10 può essere progettato con core di shader programmabili condivisi. L'unità di elaborazione grafica (GPU) può programmare core shader che possono essere pianificati tra i blocchi funzionali che costituiscono la pipeline di rendering. Questo bilanciamento del carico significa che gli sviluppatori hardware non sono tenuti a usare ogni tipo di shader, ma solo quelli necessari per eseguire il rendering. Questo bilanciamento del carico può quindi liberare risorse per i tipi di shader attivi. La figura seguente illustra i blocchi funzionali della pipeline di rendering. Le sezioni che seguono la figura descrivono i blocchi in modo più dettagliato.
Assemblatore di Input
La fase dell'assembler di input usa operazioni a funzione fissa per leggere i vertici fuori memoria. L'assembler di input crea quindi primitive geometriche e crea elementi di lavoro della pipeline. Gli identificatori dei vertici generati automaticamente, gli identificatori di istanza (disponibili per il vertex shader) e gli identificatori primitivi (disponibili per il geometry shader o il pixel shader) consentono l'elaborazione specifica dell'identificatore. La linea punteggiata nella figura mostra il flusso dell'elaborazione specifica dell'identificatore.
Vertex Shader
La fase vertex shader accetta un vertice come input e restituisce un vertice.
Shader di geometria
La fase geometry shader accetta una primitiva come input e restituisce zero, una o più primitive. Le primitive di output possono contenere più dati di quanto sia possibile senza lo shader di geometria. La quantità totale di dati di output per operazione è (dimensione del vertice x numero di vertici).
Risultato del flusso
La fase di output del flusso concatena le primitive che vengono trasmesse all'output dello shader di geometria nei buffer di output. L'output del flusso è associato al geometry shader ed entrambi sono programmati insieme.
Rasterizzatore
Le clip di fase del rasterizzatore (inclusi i limiti di clip personalizzati), eseguono la divisione prospettica sulle primitive, implementano il riquadro di visualizzazione e la selezione scissor, eseguono la selezione della destinazione di rendering ed eseguono la configurazione primitiva.
Pixel Shader
La fase pixel shader accetta un pixel come input e produce un pixel nella stessa posizione o nessun pixel. Il pixel shader non può leggere le destinazioni di rendering correnti.
Unione di output
La fase di unione dell'output esegue operazioni di fusione del bersaglio di rendering, profondità e stencil a funzione fissa.