Procedura: creare uno shader con Lambert di base
In questo documento viene illustrato come utilizzare la finestra di Progettazione shader e il linguaggio DGSL per creare uno shader di illuminazione che implementa il modello di illuminazione di Lambert classico.
In questo documento vengono illustrate queste attività:
Nodi a un grafico di shader
Disconnettere i nodi
Connessione di nodi
Modello di illuminazione di Lambert
Il modello di illuminazione di Lambert incorpora l'illuminazione ambientale e direzionale per ombreggiare gli oggetti in una scena tridimensionale.Componenti di ambiente fornisce un livello di base di illuminazione della scena tridimensionale.I componenti direzionali fornisce illuminazione aggiuntiva (per) dalle sorgenti di luce direzionali.L'illuminazione dell'ambiente interessa ugualmente tutte le superfici della scena, indipendentemente dall'orientamento.Per una superficie specificata, si tratta di un prodotto del colore ambiente della superficie e il colore e l'intensità dell'illuminazione di ambiente nella scena.L'illuminazione direzionale influenza ogni area nella scena in modo diverso, in base all'orientamento della superficie rispetto alla direzione di una sorgente di luce.È un prodotto di colore e l'orientamento diffusi della superficie e il colore, di intensità e la direzione delle sorgenti di luce.Le superfici rivolte direttamente verso una sorgente di luce ricevono il massimo contributo mentre le superfici rivolte in senso contrario alla luce non ricevono alcun contributo.Nel modello di illuminazione di Lambert, il componente di ambiente e uno o più componenti direzionali vengono combinati per determinare il totale diffondono supporto del colore per ciascun punto dell'oggetto.
Prima di iniziare, assicurarsi che la finestra Proprietà e Casella degli strumenti visualizzazione.
Per creare uno shader di Lambert
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.Lasciare il terminale Alpha connesso.
Aggiungere un nodo Lambert al grafico.Nella Casella degli strumenti in Utilità selezionare Lambert e spostarla nell'area di progettazione.Il nodo di Lambert calcola il totale diffonde supporto del colore del pixel, in base ai parametri di ambiente e diffusi di illuminazione.
Connettere il nodo Colore punto mouse sul nodo Lambert.In modalità Seleziona, spostare il terminale RGB il nodo Colore punto verso il terminale Colore con riflessione diffusa del nodo Lambert.Questa connessione fornisce il Lambert che il nodo a l interpolato diffonde il colore del pixel.
Connettere il valore della costante di colore elaborata al colore finale.Spostare il terminale Output il nodo Lambert al terminale RGB il nodo Colore finale.
Nella figura seguente viene mostrato il grafico di shader completato e un'anteprima dello shader applicato a un modello di teiera.
[!NOTA]
Per illustrare meglio l'effetto dello shader in questa illustrazione, un colore arancione è stato specificato utilizzando il parametro MaterialDiffuse lo shader.Un gioco o un'applicazione può utilizzare questo parametro per specificare un valore di colore univoco per ogni oggetto.Per informazioni sui parametri materiali, vedere la sezione di visualizzazione in anteprima di pixel Finestra di progettazione shader.
Alcune forme potrebbero fornire anteprime ottimizzate per alcuni pixel.Per ulteriori informazioni su come visualizzare in anteprima gli shader nella finestra di progettazione di shader, vedere la sezione di visualizzazione in anteprima di pixel Finestra di progettazione shader.
Nella figura seguente viene illustrato lo shader descritto in questo documento applicato a un modello tridimensionale.
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: creare uno shader con phong di base
Concetti
Finestra di progettazione shader