Turbulenzeffekt

Verwenden Sie den Turbulenzeffekt, um eine Bitmap basierend auf der Perlin-Rauschfunktion zu generieren.

Der Turbulenzeffekt hat kein Eingabebild.

Die CLSID für diesen Effekt ist CLSID_D2D1Turbulence.

Beispielbild

Screenshot des Effektbeispiels, der die Ausgabe des Turbulenzeffekts zeigt.

Der Turbulenzeffekt berechnet die Summe einer oder mehrerer Oktaven der Perlin-Rauschfunktion. Perlinrauschen ist eine pseudo-zufällige Funktion, deren Wert von der Häufigkeit, Position und dem Startwert abhängt. Der Effekt generiert die RGBA-Werte mithilfe einer dieser Formeln.

Wenn Sie den D2D1_TURBULENCE_NOISE_FRACTAL_SUM Rauschmodus auswählen, verwendet der Effekt diese Gleichung.

Screenshot der Turbulenzenfunktion, die zum Generieren einer Bitmap verwendet wird.

Wenn Sie den D2D1_TURBULENCE_NOISE_TURBULENCE Rauschmodus auswählen, verwendet der Effekt diese Gleichung.

die Turbulenzfunktion, die zum Generieren einer Bitmap verwendet wird.

Hinweis

Die PerlinNoise Funktion hat einen Bereich von [-1, 1].

Dieser Effekt gibt Pixelwerte in vormultipliziertem Alpha aus.

Effekteigenschaften

Anzeigename und Indexaufzählung BESCHREIBUNG
Offset
D2D1_TURBULENCE_PROP_OFFSET
Die Koordinaten, in denen die Turbulenzausgabe generiert wird.
Der Algorithmus, der zum Generieren des Perlin-Rauschens verwendet wird, ist positionsabhängig, sodass ein anderer Offset zu einer anderen Ausgabe führt. Diese Eigenschaft ist nicht begrenzt, und die Einheiten werden in DIPs angegeben.
Hinweis: Der Offset hat nicht den gleichen Effekt wie eine Übersetzung, da die Ausgabe der Rauschfunktion unendlich ist und die Funktion die Kachel umschließt.
Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0.0f, 0.0f}.
Size
D2D1_TURBULENCE_PROP_SIZE
Die Größe der Turbulenzausgabe.
Diese Eigenschaft ist nicht begrenzt, und die Einheiten werden in DIPs angegeben.

Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0.0f, 0.0f}.
BaseFrequenz
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Die Basisfrequenzen in X- und Y-Richtung. Diese Eigenschaft ist ein Float und muss größer als 0 sein. Die Einheiten werden in 1/DIPs angegeben.
Ein Wert von 1 (1/DIPs) für die Basisfrequenz führt dazu, dass das Perlin-Rauschen einen gesamten Zyklus zwischen zwei Pixeln abschließt. Die einfache Interpolation für diese Pixel führt zu völlig zufälligen Pixeln, da es keine Korrelation zwischen den Pixeln gibt.
Mit einem Wert von 0,1(1/DIPs) für die Basisfrequenz wiederholt die Perlin-Rauschfunktion alle 10 DIPs. Dies führt zu einer Korrelation zwischen Pixeln und der typische Turbulenzeffekt ist sichtbar.
Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Die Anzahl der Oktaven für die Rauschfunktion. Diese Eigenschaft ist ein UINT32 und muss größer als 0 sein.
Der Typ ist UINT32.
Der Standardwert ist 1.
Seed
D2D1_TURBULENCE_PROP_SEED
Der Seed für den Pseudo-Zufallsgenerator. Diese Eigenschaft ist ungebunden.
Der Typ ist UINT32.
Der Standardwert ist 0.
Stördatenverkehr
D2D1_TURBULENCE_PROP_NOISE
Der Turbulenzrauschmodus. Diese Eigenschaft kann entweder fraktale Summe oder Turbulenzen sein. Gibt an, ob eine Bitmap basierend auf Fraktalem Rauschen oder der Turbulenzfunktion generiert werden soll. Weitere Informationen finden Sie unter Rauschmodi .
Der Typ ist D2D1_TURBULENCE_NOISE.
Der Standardwert ist D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Stitchable
D2D1_TURBULENCE_PROP_STITCHABLE
Aktiviert oder deaktiviert das Nähen. Die Basishäufigkeit wird so angepasst, dass die Ausgabebit geheftet werden kann. Dies ist nützlich, wenn Sie mehrere Kopien der Ausgabe des Turbulenzeffekts kacheln möchten.
  • True Die Ausgabe-Bitmap kann (mithilfe des Kacheleffekts) ohne die Darstellung von Nähten gekachelt werden. Die Basishäufigkeit wird so angepasst, dass die Ausgabebit geheftet werden kann.
  • False Die Basishäufigkeit wird nicht angepasst, sodass Nähte zwischen Kacheln angezeigt werden können, wenn die Bitmap gekachelt ist.

Der Typ ist BOOL.
Der Standardwert ist FALSE.

Rauschmodi

Enumeration Beschreibung
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Berechnet eine Summe der Oktaven und verschiebt den Ausgabebereich von [-1, 1], zu [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Berechnet eine Summe des absoluten Werts jeder Oktave.

Hinweis

Kein Modus enthält eine explizite Klemme der Ausgabewerte.

Ausgabe-Bitmap

Dieser Effekt generiert eine logisch unendlich große Bitmap.

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

ID2D1Effect