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
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.
Wenn Sie den D2D1_TURBULENCE_NOISE_TURBULENCE Rauschmodus auswählen, verwendet der Effekt diese Gleichung.
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.
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 |