Konstante Knoten
Im Shader-Designer stellen konstante Knoten Literalwerte und interpolierte Vertexattribute bei Pixel-Shader-Berechnungen dar. Da Vertexattribute interpoliert werden, und daher bei jedem Pixel unterschiedlich ausfallen, empfängt jede Pixel-Shader-Instanz eine andere Version der Konstante. Dadurch erfährt jedes Pixel eine individuelles Darstellung.
Interpolation von Vertexattributen
Das Bild einer 3D-Szene in einem Spiel oder einer App wird erzeugt, indem eine Anzahl von Objekten mathematisch in Pixel auf dem Bildschirm transformiert werden. Die Objekte werden über Vertices, Vertextattribute und primitive Definition definiert. Alle erforderlichen Informationen zur individuellen Darstellung eines Pixels, werden durch Vertexattribute angegeben. Diese werden entsprechend der Nähe des Pixels zu den verschiedenen Vertices gemischt, die sein Primitiv bilden. Bei einer Primitive handelt es sich um ein grundlegendes Renderingelement; das heißt, eine einfache Form wie einen Punkt, eine Zeile oder ein Dreieck. Ein Pixel, das nur nahe bei einem Vertex liegt, erhält Konstanten, die mit diesem Vertex fast identisch sind. Ein Pixel, dessen Abstand zu allen Vertices einer Primitive gleichmäßig ist, erhält Konstanten, die dem Durchschnitt dieser Vertices entsprechen. In der Grafikprogrammierung gelten die von den Pixeln empfangen Konstanten als interpoliert. Pixeln auf diese Weise Konstantendaten bereitzustellen, führt zu sehr guter visueller Qualität und reduziert gleichzeitig Speicherbedarf- und Bandbreitenanforderungen.
Obwohl jede Pixel-Shader-Instanz nur einen Satz Konstantenwerte erhält und diese Werte nicht geändert werden können, erhalten unterschiedliche Pixel-Shader-Instanzen verschiedene Konstantendatensätze. Dieser Entwurf ermöglicht einem Shaderprogramm, für jedes Pixel in der Primitive eine andere Farbeausgabe zu erzeugen.
Konstantenknotenverweis
Knoten |
Details |
Eigenschaften |
---|---|---|
Kameravektor |
Der Vektor, der sich vom aktuellen Pixel bis zur Kamera im Raum erstreckt. Damit können Sie Reflexionen im Raum berechnen. Ausgabe
|
Kein |
Farbkonstante |
Ein konstanter Farbwert. Ausgabe
|
|
Konstante |
Ein konstanter Skalarwert. Ausgabe
|
|
2D-Konstante |
Eine Vektorkonstante aus zwei Komponenten. Ausgabe
|
|
3D-Konstante |
Eine Vektorkonstante aus drei Komponenten. Ausgabe
|
|
4D-Konstante |
Eine Vektorkonstante aus vier Komponenten. Ausgabe
|
|
Normalisierte Position |
Die Position des aktuellen Pixels, ausgedrückt in normalisierten Gerätekoordinaten. Die x-Koordinate und die y-Koordinate verfügen über Werte in einem Bereich von [– 1, 1]. Der Wert der z-Koordinate liegt in einem Bereich von [0, 1], und die w-Komponente enthält den Punkttiefenwert im Ansichtsraum. W wird nicht normalisiert. Ausgabe
|
Kein |
Punktfarbe |
Die diffuse Farbe des aktuellen Pixels. Eine Kombination aus der diffusen Farbe des Materials und den Farbattributen des Vertex. Ausgabe
|
Kein |
Punkttiefe |
Die Tiefe des aktuellen Pixels im Ansichtsraum. Ausgabe
|
Kein |
Normalisierte Punkttiefe |
Die Tiefe des aktuellen Pixels, ausgedrückt in normalisierten Gerätekoordinaten. Das Ergebnis weist einen Wert im Bereich von [0, 1] auf. Ausgabe
|
Kein |
Bildschirmposition |
Die Position des aktuellen Pixels, ausgedrückt in Bildschirmkoordinaten. Die Bildschirmkoordinaten basieren auf dem aktuellen Viewport. Die x- und y-Komponenten enthalten die Bildschirmkoordinaten, die z-Komponente enthält die Tiefe, die auf einen Bereich von [0, 1] normalisiert ist, und die w-Komponente enthält den Tiefenwert im Ansichtsraum. Ausgabe
|
Kein |
Oberflächennormale |
Die Oberflächennormale des aktuellen Pixels im Objektraum. Damit können Sie Beleuchtungseinwirkungen und Reflexionen im Objektraum berechnen. Ausgabe
|
Kein |
Kameravektor im Tangentialraum |
Der Vektor, der sich vom aktuellen Pixel bis zur Kamera im Tangentialraum erstreckt. Damit können Sie Reflexionen im Tangentialraum berechnen. Ausgabe
|
Kein |
Lichtrichtung im Tangentialraum |
Der Vektor, der die Richtung definiert, in der Licht von einer Lichtquelle im Tangentialraum des aktuellen Pixels umgewandelt wird. Damit können Sie Beleuchtungs- und Glanzeinwirkungen im Tangentialraum berechnen. Ausgabe:
|
Kein |
World-Normale |
Die Oberflächennormale des aktuellen Pixels im Raum. Damit können Sie Beleuchtungseinwirkungen und Reflexionen im Raum berechnen. Ausgabe
|
Kein |
World-Position |
Die Position des aktuellen Pixels im Raum. Ausgabe
|
Kein |