Beleuchtungseffekt „Entfernt-Spiegelnd“
Verwenden Sie den lichtend entfernten Lichteffekt, um ein Bild zu erstellen, das eine reflektierende Oberfläche zu sein scheint, bei der die Lichtquelle aus einer großen Entfernung (z. B. die Sonnen- oder Oberlichter) zu stammen scheint. Dieser Effekt verwendet den Alphakanal als Höhenkarte und leuchtet das Bild mit einer entfernten Lichtquelle.
Die Farbe der Ausgabebitmap ist das Ergebnis von helle Farbe, Lichtposition und Oberflächengeometrie. Die Alphakanalausgabe für jedes Pixel mit specularer Beleuchtung ist das Maximum der roten, grünen und blauen Kanalausgabe für dieses Pixel.
Die CLSID für diesen Effekt ist CLSID _ D2D1DistantSpecular.
- Beispielbild
- Entfernte Lichtquelle
- Effect-Eigenschaften
- Skalierungsmodi
- Anforderungen
- Zugehörige Themen
Beispielbild
Das hier gezeigte Beispiel zeigt die Ein- und Ausgabebilder des entfernten Specular-Beleuchtungseffekts.

Die endgültige Ausgabebitmap kann mit den folgenden Gleichungen berechnet werden.

Hierbei gilt:
- K? = Specular Lighting-Konstante.
= Normaleinheitsvektor der Oberfläche.
= "halber" Einheitenvektor zwischen Augeneinheitsvektor und lichten Einheitenvektor.Cr,Cg,Cb = die helle Farbe in RGB-Komponenten.
Entfernte Lichtquelle
Die Abbildung zeigt hier ein Beispiel für die Richtung des Lichts von einer entfernten Lichtquelle.

Der Effekt berechnet den Lichtvektor mit den Parametern "azi vektor" und "elevation".
mithilfe der folgenden Gleichungen:

wobei Light?, Lightyund Lightz die Eingabelichtpositionswerte sind.
Effect-Eigenschaften
| Anzeigename und Indexenumeration | BESCHREIBUNG |
|---|---|
| Azimut D2D1 _ ENTFERNTSPECULAR _ PROP _ AZIPUL |
Der Richtungswinkel der Lichtquelle in der XY-Ebene relativ zur X-Achse in der uhrweisen Richtung des Indikators. Die Einheiten liegen in Grad und müssen zwischen 0 und 360 Grad liegen. Der Typ ist FLOAT. Der Standardwert ist 0,0f. |
| Elevation D2D1– _ ENTFERNTSSPEZIFISCHE _ _ PROP-ERHÖHUNG |
Der Richtungswinkel der Lichtquelle in der YZ-Ebene relativ zur Y-Achse in der Zählertaktrichtung. Die Einheiten liegen in Grad und müssen zwischen 0 und 360 Grad liegen. Der Typ ist FLOAT. Der Standardwert ist 0,0f. |
| SpecularExponent D2D1 _ ENTFERNTPECULAR _ PROP _ SPECULAR _ EXPONENT |
Der Exponent für den specular-Begriff in der Phong-Beleuchtungsgleichung. Ein größerer Wert entspricht einer reflektierenderen Oberfläche. Der Wert ist unitlos und muss zwischen 1,0 und 128 liegen. Der Typ ist FLOAT. Der Standardwert ist 1,0f. |
| SpecularConstant D2D1 _ ENTFERNTPECULAR _ PROP _ SPECULAR _ CONSTANT |
Das Verhältnis der spiegelförmigen Reflektion zum eingehenden Licht. Der Wert ist einheitslos und muss zwischen 0 und 10.000 liegen. Der Typ ist FLOAT. Der Standardwert ist 1,0f. |
| SurfaceScale D2D1 _ ENTFERNTSPECULAR _ PROP SURFACE _ _ SCALE |
Der Skalierungsfaktor in Z-Richtung. Der Wert ist einheitslos und muss zwischen 0 und 10.000 liegen. Der Typ ist FLOAT. Der Standardwert ist 1,0f. |
| Color D2D1– _ ENTFERNTEPECULAR _ _ PROP-FARBE |
Die Farbe des eingehenden Lichts. Diese Eigenschaft wird als D2D1 _ VECTOR _ 3F (R, G, B)verfügbar gemacht und zum Berechnen von L R, L G, LB verwendet. Der Typ ist D2D1 _ VECTOR _ 3F. Der Standardwert ist {1,0f, 1,0f, 1,0f}. |
| KernelUnitLength D2D1 _ ENTFERNTSPECULAR _ PROP KERNEL UNIT _ _ _ LENGTH |
Die Größe eines Elements im Sobel-Kernel, das zum Generieren der Oberflächennormale in X- und Y-Richtung verwendet wird. Diese Eigenschaft ist ein D2D1 _ VECTOR _ 2F (Kernel Unit Length X, Kernel Unit Length Y) und wird in (geräteunabhängige Pixel (DIPs)/Kernel Unit) definiert. Der Effekt verwendet die bilineare Interpolation, um die Bitmap so zu skalieren, dass sie mit der Größe der Kernelelemente übereinstimmen kann. Der Typ ist D2D1 _ VECTOR _ 2F. Der Standardwert ist {1,0f, 1,0f}. |
| Scalemode D2D1 _ ENTFERNTSPECULAR _ PROP _ _ SCALE-MODUS |
Der Interpolationsmodus, den der Effekt verwendet, um das Bild auf die entsprechende Länge der Kerneleinheit zu skalieren. Es gibt sechs Skalierungsmodi, die in Qualität und Geschwindigkeit reichen. Der Typ ist D2D1 _ _ ENTFERNTSPECULAR-SKALIERUNGSMODUS. _ Der Standardwert ist D2D1 _ ENTFERNTSPECULAR _ SCALE _ MODE _ LINEAR. |
Skalierungsmodi
| Enumeration | Beschreibung |
|---|---|
| D2D1 _ _ ENTFERNTSPECULAR-SKALIERUNGSMODUS _ _ NÄCHSTER _ NACHBAR | Stichprobenentnahme für den nächstgelegenen einzelnen Punkt und Verwendung dieses Punkts. Dieser Modus verbraucht weniger Verarbeitungszeit, gibt jedoch das Image mit der niedrigsten Qualität aus. |
| D2D1 _ _ ENTFERNTSPECULAR-SKALIERUNGSMODUS _ _ LINEAR | Verwendet eine Stichprobe mit vier Punkt und eine lineare Interpolation. Dieser Modus gibt ein Bild mit höherer Qualität als der nächste Nachbar aus. |
| D2D1 _ ENTFERNTSPECULAR _ SCALE MODE _ _ KUBISCH | Verwendet einen kubischen 16-Beispielkernel für die Interpolation. Dieser Modus verwendet die meiste Verarbeitungszeit, gibt jedoch ein Image mit höherer Qualität aus. |
| D2D1 _ ENTFERNTSPECULAR _ SCALE MODE MULTI SAMPLE _ _ _ _ LINEAR | Verwendet vier lineare Stichproben innerhalb eines einzelnen Pixels für ein gutes Edge-Antialiasing. Dieser Modus eignet sich gut für das Herunterskalierung um kleine Mengen auf Bildern mit wenigen Pixeln. |
| D2D1 _ : _ SKALARER _ SKALIERUNGSMODUS _ ANISOTROP | Verwendet die Anisotrope Filterung, um ein Muster entsprechend der transformierten Form der Bitmap abzubilden. |
| D2D1 _ ENTFERNTERSPEKULÄRER _ _ SKALIERUNGSMODUS _ IN HOHER QUALITÄT _ _ KUBISCH | Verwendet einen kubischen Kernel mit variabler Größe, um ein Vorabskalieren des Bilds durchzuführen, wenn die Abwärtsskalierung in der Transformationsmatrix beteiligt ist. Verwendet dann den kubischen Interpolationsmodus für die endgültige Ausgabe. |
Hinweis
Wenn Sie keinen Modus auswählen, wird der Effekt standardmäßig auf D2D1 _ DISTANTSPEULAR _ SCALE MODE LINEAR _ _ (LINEAR) eingestellt.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 8 und Plattformupdate für Windows 7 [ Desktop-Apps | Windows Store Apps] |
| Unterstützte Mindestversion (Server) | Windows 8 und Plattformupdate für Windows 7 [ Desktop-Apps | Windows Store Apps] |
| Header | d2d1effects.h |
| Bibliothek | d2d1.lib, dxguid.lib |