Condividi tramite


Utilizzo degli shader

È possibile utilizzare la finestra di Progettazione shader basata sul grafico in Visual Studio per progettare effetti shader personalizzati.È possibile utilizzare i modelli nel proprio gioco o nella propria app basata su DirectX.

Shader

Uno shader è un programma per computer che esegue calcoli grafici (ad esempio le trasformazioni di vertice o la colorazione dei pixel) e in genere viene eseguito su un'unità di elaborazione grafica (GPU) anziché su una CPU.Poiché la maggior parte delle pipeline grafiche a funzioni fisse vengono ora eseguite dai programmi dello shader, è possibile utilizzarle per creare una pipeline specifica delle esigenze dell'applicazione.

I tipi più comuni di shader sono i vertex shader, che eseguono calcoli per vertice e sostituiscono i circuiti di trasformazione e di illuminazione a funzioni fisse in hardware per grafica non programmabile, e i pixel shader, che eseguono calcoli per pixel che determinano il colore di un pixel e sostituiscono i circuiti di combinazione dei colori a funzioni fisse in hardware per grafica non programmabile.L'hardware grafico moderno ha creato ancora più tipi di shader: hull shader, domain shader e geometry shader per i calcoli di grafica e compute shader per i calcoli di non grafica.Nessuna di queste fasi è disponibile nell'hardware grafico non programmabile.Gli shader sono stati originariamente creati tramite un linguaggio di tipo di assembly che ha immesso le istruzioni dati in parallelo (SIMD) e incentrate su grafici (il prodotto scalare).Ora, gli shader in genere vengono creati utilizzando i linguaggi di alto livello o di tipo C come HLSL (High Level Shader Language).

È possibile utilizzare la finestra di progettazione di shader per creare i pixel shader in modo interattivo anziché immissione e di compilazione del codice.Nella finestra Progettazione shader uno shader è definito da una serie di nodi che rappresentano i dati e le operazioni e da connessioni tra i nodi che rappresentano il flusso dei valori di dati e risultati intermedi tramite lo shader.Utilizzando questo approccio e l'anteprima in tempo reale nella finestra di Progettazione shader, è possibile visualizzare l'esecuzione dello shader più facilmente e "scoprire" le variazioni interessanti di shader tramite la sperimentazione.

DGSL, documenti

La finestra di Progettazione shader salva gli shader in formato DGSL (Directed Graph Shader Language), che è un formato XML basato sul linguaggio DGML (Directed Graph Markup Language).È possibile applicare shader DGSL direttamente ai modelli 3D nell'editor modello.Prima di poter utilizzare una shader DGSL nell'applicazione, è tuttavia necessario esportarlo in un formato noto a DirectX (ad esempio HLSL).

Poiché DGSL è compatibile con DGML, è possibile utilizzare gli strumenti progettati per analizzare i documenti DGML per analizzare gli shader DGSL.Per informazioni su DGML, vedere la pagina relativa alla Conoscenza di DGML (Directed Graph Markup Language).

Argomenti correlati

Titolo

Descrizione

Finestra di progettazione shader

Viene descritto come utilizzare la finestra di Progettazione shader di Visual Studio per l'utilizzo degli shader.

Nodi della finestra di progettazione shader

Vengono descritti i tipi di nodi della finestra di Progettazione shader che è possibile utilizzare per realizzare effetti grafici.

Esempi della finestra di progettazione shader

Vengono forniti collegamenti ad argomenti che illustrano come utilizzare la finestra di progettazione di shader per realizzare effetti comuni di grafica.