Procedura: creare uno shader con sfumatura basata sulla geometria
In questo documento viene illustrato come utilizzare la finestra di Progettazione shader e il linguaggio DGSL per creare uno shader di sfumatura basato sulla geometria.Questo pixel ridimensiona un valore costante di colore RGB in base all'altezza di ciascun punto di un oggetto nello spazio globale.
In questo documento vengono illustrate queste attività:
Nodi a un grafico di shader
Impostazione delle proprietà del nodo
Disconnettere i nodi
Connessione di nodi
Creazione di uno shader di sfumatura basato sulla geometria
È possibile distribuire allo shader basato su geometria incorporando la posizione del pixel shader nel.Nei linguaggi di ombreggiatura, un pixel contiene più informazioni rispetto al colore e posizione sullo schermo bidimensionale.Pixel- noto come un frammento in alcuni sistemi è una raccolta di valori che descrivono la superficie che corrisponde a un pixel.Lo shader descritta in questo documento viene utilizzata l'altezza di ogni pixel di un oggetto tridimensionale nello spazio globale per modificare il colore di output finale del frammento.
Prima di iniziare, assicurarsi che la finestra Proprietà e Casella degli strumenti visualizzazione.
Per creare uno shader di sfumatura basato sulla geometria
Creare uno shader di DGSL per l'utilizzo.Per informazioni su come aggiungere uno shader di DGSL al progetto, vedere la sezione della guida introduttiva in Finestra di progettazione shader.
Disconnettere il nodo Colore punto dal nodo Colore finale.Scegliere il terminale RGB il nodo Colore punto quindi scegliere Interrompi collegamenti.In questo modo lo spazio per il nodo che viene aggiunto nel passaggio successivo.
Aggiungere un nodo Moltiplica al grafico.Nella Casella degli strumenti in Matematica selezionare Per e spostarlo nell'area di progettazione.
Aggiungere un nodo Mascheramento vettore al grafico.Nella Casella degli strumenti in Utilità selezionare Mascheramento vettore e spostarla nell'area di progettazione.
Specificare i valori di maschera per il nodo Mascheramento vettore.In modalità Seleziona, selezionare il nodo Mascheramento vettore quindi nella finestra Proprietà, impostare la proprietà Verde / Y su Truee quindi impostare Rosso / X, Blu / Z e le proprietà Alpha / W su False.In questo esempio, Rosso / X, Verde / Ye le proprietà Blu / Z corrispondono ai componenti x, y e z del nodo Posizione globale e Alpha / W è inutilizzato.Poiché solo Verde / Y è impostato su True, solo la parte di y del vettore di input rimane dopo viene mascherato.
Aggiungere un nodo Posizione globale al grafico.Nella Casella degli strumenti in Costanti selezionare Posizione globale e spostarlo nell'area di progettazione.
Mascherare la posizione dello spazio globale del frammento.In modalità Seleziona spostare il terminale Output del nodo Posizione globale nel terminale Vettore del nodo Mascheramento vettore.Questa connessione maschera la posizione del frammento per ignorare i componenti x e z.
Moltiplicare la costante di colore RGB per la posizione mascherata dello spazio globale.Spostare il terminale RGB il nodo Colore punto verso il terminale Y il nodo Moltiplica e spostare il terminale Output il nodo Mascheramento vettore al terminale X il nodo Moltiplica.Questa connessione ridimensiona il valore del colore dell'altezza del pixel nello spazio globale.
Connettere il valore del colore scalato al colore finale.Spostare il terminale Output il nodo Moltiplica al terminale RGB il nodo Colore finale.
Nella figura seguente viene mostrato il grafico di shader completato e un'anteprima dello shader applicato a una sfera.
[!NOTA]
In questa illustrazione è specificato un colore arancione per illustrare meglio l'effetto dello shader, ma poiché la forma di anteprima non dispone di una posizione nello spazio globale, lo shader non può essere visualizzato completamente in anteprima nella finestra Progettazione shader.Lo shader deve essere visualizzato in anteprima in una scena reale per mostrare l'effetto completo.
Alcune forme potrebbero fornire anteprime ottimizzate per alcuni pixel.Per informazioni su come visualizzare in anteprima gli shader nella finestra di progettazione di shader, vedere Anteprima shaderFinestra di progettazione shader
Nella figura seguente viene illustrato lo shader descritto in questo documento applicato alla scena tridimensionale mostrata in Procedura: modellare una scena tridimensionale di base.L'intensità del colore aumenta con l'altezza del punto nel contenitore World.
Per ulteriori informazioni su come applicare uno shader a un modello tridimensionale, vedere Procedura: applicare uno shader a un modello tridimensionale.
Vedere anche
Attività
Procedura: applicare uno shader a un modello tridimensionale
Procedura: esportare uno shader
Procedura: modellare una scena tridimensionale di base
Procedura: creare uno shader con trama in scala di grigi
Concetti
Finestra di progettazione shader