Freigeben über


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

Effektbeispielfoto mit der Ausgabe des Turbulenzeneffekts.

Der Turbulenzeffekt berechnet die Summe einer oder mehrerer Achtecks der Perlin-Rauschfunktion. Perlin-Rauschen ist eine pseudo-zufällige Funktion, deren Wert von der Häufigkeit, Position und dem Ausgangswert 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 Formel.

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

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

die Turbulenzenfunktion, die zum Generieren einer Bitmap verwendet wird.

Anmerkung

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

Dieser Effekt gibt Pixelwerte in prämultiplizierten Alpha aus.

Effekteigenschaften

Anzeigename und Indexenumeration Beschreibung
Offset
D2D1_TURBULENCE_PROP_OFFSET
Die Koordinaten, in denen die Turbulenzenausgabe generiert wird.
Der Algorithmus, der zum Generieren des Perlin-Rauschens verwendet wird, ist abhängig, sodass ein anderer Offset zu einer anderen Ausgabe führt. Diese Eigenschaft ist nicht gebunden, und die Einheiten werden in DIPs angegeben.
Hinweis: Der Offset hat nicht die gleiche Wirkung wie eine Übersetzung, da die Ausgabe der Rauschfunktion unendlich ist und die Funktion um die Kachel umbrochen wird.
Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0,0f, 0,0f}.
Größe
D2D1_TURBULENCE_PROP_SIZE
Die Größe der Turbulenzenausgabe.
Diese Eigenschaft ist nicht gebunden, und die Einheiten werden in DIPs angegeben.

Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0,0f, 0,0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Die Basisfrequenzen in X- und Y-Richtung. Diese Eigenschaft ist ein Float-Wert 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 zu dem Perlin-Rauschen, das einen gesamten Zyklus zwischen zwei Pixeln abschließt. Die einfache Interpolation für diese Pixel führt zu vollständig zufälligen Pixeln, da keine Korrelation zwischen den Pixeln besteht.
Der Wert 0,1(1/DIPs) für die Basisfrequenz wiederholt die Perlin-Rauschfunktion alle 10 DIPs. Dies führt zu einer Korrelation zwischen Pixeln und dem typischen Turbulenzeneffekt.
Der Typ ist D2D1_VECTOR_2F.
Der Standardwert ist {0,01f, 0,01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Die Anzahl der Achtecks für die Rauschfunktion. Diese Eigenschaft ist ein UINT32 und muss größer als 0 sein.
Der Typ ist UINT32.
Der Standardwert ist 1.
Samen
D2D1_TURBULENCE_PROP_SEED
Der Seed für den Pseudo-Zufallsgenerator. Diese Eigenschaft ist ungebunden.
Der Typ ist UINT32.
Der Standardwert ist 0.
Lärm
D2D1_TURBULENCE_PROP_NOISE
Der Turbulenz-Rauschmodus. Diese Eigenschaft kann entweder Fraktalsumme oder Turbulenzensein. 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.
Stichbar
D2D1_TURBULENCE_PROP_STITCHABLE
Schaltet das Heften ein oder aus. Die Basishäufigkeit wird so angepasst, dass die Ausgabebitmap geheftet werden kann. Dies ist nützlich, wenn Sie mehrere Kopien der Ausgabe des Turbulenzeneffekts kacheln möchten.
  • True The output bitmap can be tiled (using the tile effect) without the appearance of seams. Die Basishäufigkeit wird so angepasst, dass die Ausgabebitmap geheftet werden kann.
  • False Die Basishäufigkeit wird nicht angepasst, sodass Nahtzeichen zwischen Kacheln angezeigt werden können, wenn die Bitmap nebeneinander angeordnet ist.

Der Typ ist BOOL.
Der Standardwert ist FALSE.

Rauschmodi

Aufzählung Beschreibung
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Berechnet eine Summe der Oktben, die den Ausgabebereich von [-1, 1], auf [0, 1] verschiebt.
D2D1_TURBULENCE_NOISE_TURBULENCE Berechnet eine Summe des absoluten Werts jeder Oktave.

Anmerkung

Kein Modus enthält eine explizite Klammer der Ausgabewerte.

Ausgabebitmap

Dieser Effekt generiert eine logisch unendliche Bitmap.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Mindestens unterstützter Server Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Kopfball d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect-