Freigeben über


Gewusst wie: Erstellen eines Lambert-Shaders

Dieses Dokument veranschaulicht, wie Sie den Shader-Designer und die Directed Graph Shader Language (DGSL) verwenden, um einen Beleuchtungs-Shader zu erstellen, der das klassische Lambert-Beleuchtungsmodell implementiert.

In diesem Dokument werden die folgenden Aktivitäten veranschaulicht:

  • Hinzufügen von Knoten zu einem Shaderdiagramm

  • Trennen von Knoten

  • Knoten verbinden

Das Lambert-Beleuchtungsmodell

Das Lambert-Beleuchtungsmodell umfasst Umgebungslicht und gerichtetes Licht, um Objekte in einer 3D-Szene zu schattieren.Die Ambient-Komponenten stellen ein Ausgangsniveau der Beleuchtung in der 3D-Szene.Die direktionalen Komponenten stellen zusätzliche Beleuchtung von den direktionalen (weit von Lichtquellen).Die Umgebungsbeleuchtung hat die gleichen Auswirkungen auf alle Oberflächen in der Szene, unabhängig von ihrer Ausrichtung.Für eine bestimmte Oberfläche ist dies das Produkt der Umgebungsfarbe der Oberfläche und der Farbe und Intensität des Umgebungslichts in der Szene.Das gerichtete Licht hat auf jede Oberfläche in der Szene andere Auswirkungen, je nach Ausrichtung der Oberfläche im Verhältnis zur Richtung der Lichtquelle.Es ist ein Produkt der diffusen Farbe und der Ausrichtung der Oberfläche und die Farbe, die Intensität und die Richtung der Lichtquellen.Oberflächen, die direkt in Richtung der Lichtquelle zeigen, erhalten die maximale Lichteinwirkung, und Oberflächen, die sich von der Lichtquelle abwenden, erhalten keine Lichteinwirkung.unter dem Lambert-Beleuchtungsmodell werden die eine - Komponente und eine oder mehrere direktionalen Komponenten kombiniert, um zu bestimmen diffusen belaufen sich auf Farbenbeitrag für jeden Punkt auf dem Objekt.

Bevor Sie beginnen, überprüfen Sie, ob das Fenster Eigenschaften und Werkzeugkasten angezeigt werden.

So erstellen Sie einen Lambert-Shader

  1. Erstellen Sie einen DGSL-Shader, um mit.Informationen dazu, wie Sie einen DGSL-Shader dem Projekt, finden Sie im Abschnitt Erste Schritte in Shader-Designer hinzugefügt wird.

  2. Trennen Sie den Knoten Punktfarbe aus Knoten Endgültige Farbe.Wählen Sie das RGB Terminal des Punktfarbe Knotens aus, und wählen Sie dann Zeilen umbrechen aus.Deaktivieren Sie das Alpha Terminal verbunden.

  3. Fügen Sie dem Diagramm einen Lambert-Knoten hinzu.Wählen Sie im Werkzeugkasten unter Hilfsprogramm die Option Lambert aus, und verschieben Sie sie auf die Entwurfsoberfläche.Der Lambert-Knoten berechnet das gesamte zerstreuen Farbenbeitrag des Pixels, auf Grundlage Ambient und zerstreuen Beleuchtungsparameter.

  4. Schließen Sie den Knoten Punktfarbe an den Knoten Lambert an.In Auswählen Modus verschieben Sie das RGB Terminal Punktfarbe des Knotens auf das Diffuse Farbe Terminal Lambert des Knotens.Diese Verbindung stellt dem Lambert-Knoten mit der interpolierten diffusen Farbe des Pixels.

  5. Verbinden Sie den berechneten Farbwert mit der endgültigen Farbe.Verschieben Sie das Ausgabe Terminal Lambert des Knotens auf das RGB Terminal Endgültige Farbe des Knotens.

Die folgende Abbildung zeigt das endgültige Shaderdiagramm und eine Vorschau des auf das Teekannenmodell angewendeten Shaders.

HinweisHinweis

Um die Auswirkungen des Shaders in dieser Abbildung besser zu veranschaulichen, ist eine orangefarbenen Farbe angegeben wurde mit dem MaterialDiffuse-Parameter des Shaders verwendet.Ein Spiel oder eine App können diesen Parameter verwenden, um einen eindeutigen Wert für jedes Objekt angeben.Informationen zum materielle Parameter, finden Sie Befehlsvorschau Shaderabschnitt in Shader-Designer.

Shader-Diagramm und eine Vorschau seiner Effekte

Für einige Shader erzielen Sie mit bestimmte Formen möglicherweise bessere Vorschauen.Weitere Informationen dazu, wie Shader im Shader-Designer, finden Sie Befehlsvorschau Shaderabschnitt in Shader-Designer in der Vorschau angezeigt werden.

Die folgende Abbildung zeigt den in diesem Dokument beschriebenen Shader, der auf ein 3D-Modell angewendet wurde.

Lambert-Beleuchtung in einem Modell

Weitere Informationen zum Anwenden eines Schaders in einem 3D-Modell finden Sie unter Gewusst wie: Anwenden eines Shaders auf ein 3D-Modell.

Siehe auch

Aufgaben

Gewusst wie: Anwenden eines Shaders auf ein 3D-Modell

Gewusst wie: Exportieren eines Shaders

Gewusst wie: Erstellen eines Phong-Shaders

Konzepte

Shader-Designer

Weitere Ressourcen

Shader-Designer-Knoten