Beleuchtungseffekt „Entfernt-Diffus“
Verwenden Sie den weit entfernten diffusen Beleuchtungseffekt, um ein Bild zu erstellen, das eine nicht reflektierende Oberfläche zu sein scheint, bei der die Lichtquelle aus einer großen Entfernung (wie die Sonnen- oder Oberlichter) zu stammen scheint und das Licht in alle Richtungen verteilt ist. Dieser Effekt verwendet den Alphakanal als Höhenkarte und leuchtet das Bild mit einer entfernten Lichtquelle.
Die Farbe der Ausgabebitmap ist das Ergebnis von Lichtfarbe, Lichtposition und Oberflächengeometrie des Bilds. Die Alphakanalausgabe für jedes Pixel mit diffuser Beleuchtung ist immer 1,0.
Die CLSID für diesen Effekt ist CLSID _ D2D1DistantDiffuse.
Beispielbild
Das hier gezeigte Beispiel zeigt die Ein- und Ausgabebilder des entfernten diffusen Beleuchtungseffekts.

Effect-Eigenschaften
| Anzeigename und Indexenumeration | BESCHREIBUNG |
|---|---|
| Azimut D2D1 _ ENTFERNTDIFFUSE _ PROP _ AZI WIE |
Der Richtungswinkel der Lichtquelle in der XY-Ebene relativ zur X-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. |
| Elevation D2D1 _ ENTFERNTDIFFUSE _ PROP _ ELEVATION |
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. |
| DiffuseConstant D2D1 _ ENTFERNTDIFFUSE _ PROP DIFFUSE _ _ CONSTANT |
Das Verhältnis von diffuser Reflektion zur Menge des eingehenden Lichts. Diese Eigenschaft muss zwischen 0 und 10.000 liegen und ist komponentenlos. Der Typ ist FLOAT. Der Standardwert ist 1,0f. |
| SurfaceScale D2D1 _ ENTFERNTDIFFUSE _ PROP SURFACE _ _ SCALE |
Der Skalierungsfaktor in Z-Richtung. Die Oberflächenskala ist einheitslos und muss zwischen 0 und 10.000 liegen. Der Typ ist FLOAT. Der Standardwert ist 1,0f. |
| Color D2D1 _ ENTFERNTDIFFUSE _ PROP _ COLOR |
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 _ ENTFERNTDIFFUSE _ 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 wird den Dx- und Dy-Werten im Sobel-Farbverlauf zu. 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, _ ENTFERNTDIFFUSE _ PROP _ SCALE _ MODE |
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 _ DISTANTDIFFUSE _ SCALE _ MODE. Der Standardwert ist D2D1 _ DISTANTDIFFUSE _ SCALE _ MODE _ LINEAR. |
Skalierungsmodi
| Enumeration | Beschreibung |
|---|---|
| D2D1 _ ENTFERNTDIFFUSE _ SCALE MODE NEAREST _ _ _ NEIGHBOR | 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 _ ENTFERNTDIFFUSE _ SCALE MODE _ _ 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 _ ENTFERNTDIFFUSE _ SCALE MODE _ _ KUBISCH | Verwendet einen kubischen 16-Beispielkernel für die Interpolation. Dieser Modus verwendet die meiste Verarbeitungszeit, gibt jedoch ein Bild mit höherer Qualität aus. |
| D2D1 _ ENTFERNTDIFFUSE _ SCALE MODE MULTI SAMPLE _ _ _ _ LINEAR | Verwendet vier lineare Stichproben innerhalb eines einzelnen Pixels für ein gutes Edge-Antialiasing. Dieser Modus ist gut für das Herunterskalieren um kleine Mengen auf Bildern mit wenigen Pixeln. |
| D2D1 _ ENTFERNTDIFFUSE _ SCALE MODE _ _ ANISOTROPIC | Verwendet die anisotrope Filterung, um ein Muster entsprechend der transformierten Form der Bitmap zu beproben. |
| D2D1 _ ENTFERNTDIFFUSE _ SCALE MODE HIGH QUALITY _ _ _ _ KUBISCH | Verwendet einen kubischen Kernel mit hoher Qualität in variabler Größe, um ein Vorabskalieren des Images durchzuführen, wenn eine Downskalierung an 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 _ DISTANTDIFFUSE _ SCALE MODE LINEAR _ _ festgelegt.
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 |