Sdílet prostřednictvím


Efekt turbulence

Pomocí efektu turbulence vygenerujte rastrový obrázek na základě funkce šumu Perlin.

Efekt turbulence nemá žádný vstupní obrázek.

CLSID pro tento efekt je CLSID_D2D1Turbulence.

Příklad obrázku

příkladu snímku obrazovky s efektem turbulence

Efekt turbulence vypočítá součet jednoho nebo více oktávů funkce šumu Perlin. Perlin šum je pseudonáhodná funkce, jejíž hodnota závisí na frekvenci, poloze a počáteční hodnotě. Efekt vygeneruje hodnoty RGBA pomocí jedné z těchto rovnic.

Pokud vyberete režim šumu D2D1_TURBULENCE_NOISE_FRACTAL_SUM efekt použije tuto rovnici.

Snímek obrazovky znázorňující funkci turbulence použitou k vygenerování rastrového obrázku

Pokud vyberete režim šumu D2D1_TURBULENCE_NOISE_TURBULENCE efekt použije tuto rovnici.

funkci turbulence použitou k vygenerování rastrového obrázku.

Poznámka

Funkce PerlinNoise má rozsah [-1, 1].

Tento efekt vypíše hodnoty pixelů v premultiplied alfa.

Vlastnosti efektu

Zobrazovaný název a výčet indexu Popis
Ofset
D2D1_TURBULENCE_PROP_OFFSET
Souřadnice, ve kterých se vygeneruje výstup turbulence.
Algoritmus použitý ke generování šumu Perlin je závislý na pozici, takže jiný posun vede k jinému výstupu. Tato vlastnost není ohraničená a jednotky jsou zadány v sadě DIP.
Poznámka: Posun nemá stejný účinek jako překlad, protože výstup funkce šumu je nekonečný a funkce se kolem dlaždice zabalí.
Typ je D2D1_VECTOR_2F.
Výchozí hodnota je {0.0f, 0.0f}.
Velikost
D2D1_TURBULENCE_PROP_SIZE
Velikost výstupu turbulence.
Tato vlastnost není ohraničená a jednotky jsou zadány v sadě DIP.

Typ je D2D1_VECTOR_2F.
Výchozí hodnota je {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Základní frekvence ve směru X a Y. Tato vlastnost je plovoucí a musí být větší než 0. Jednotky jsou zadány v 1/měrných jednotkách.
Hodnota 1 (1/PS) pro základní frekvenci vede k dokončení celého cyklu mezi dvěma pixely šumu Perlin. Interpolace pro tyto pixely usnadňuje zcela náhodné pixely, protože mezi pixely neexistuje žádná korelace.
Hodnota 0,1(1/PS) pro základní frekvenci, funkce šumu Perlin opakuje každých 10 BODŮ. Výsledkem je korelace mezi pixely a typickým efektem turbulence.
Typ je D2D1_VECTOR_2F.
Výchozí hodnota je {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Počet oktávek pro funkci šumu. Tato vlastnost je UINT32 a musí být větší než 0.
Typ je UINT32.
Výchozí hodnota je 1.
Semeno
D2D1_TURBULENCE_PROP_SEED
Semeno pro pseudonáhodný generátor. Tato vlastnost není nevázaná.
Typ je UINT32.
Výchozí hodnota je 0.
Hluk
D2D1_TURBULENCE_PROP_NOISE
Režim šumu turbulence. Tato vlastnost může být fraktální součet nebo turbulence. Určuje, zda se má generovat rastrový obrázek založený na fraktálním šumu nebo funkci Turbulence. Další informace najdete v režimech šumu.
Typ je D2D1_TURBULENCE_NOISE.
Výchozí hodnota je D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Stehnutelné
D2D1_TURBULENCE_PROP_STITCHABLE
Zapne nebo vypne steh. Základní frekvence je upravena tak, aby výstupní rastrový obrázek mohl být stehován. To je užitečné, pokud chcete vytvořit dlaždici více kopií výstupu efektu turbulence.
  • True Výstupní rastrový obrázek lze dlaždicovat (pomocí efektu dlaždice) bez vzhledu švů. Základní frekvence je upravena tak, aby výstupní rastrový obrázek mohl být stehován.
  • False Základní frekvence není upravena, takže švy se můžou objevit mezi dlaždicemi, pokud je rastrový obrázek dlaždice.

Typ je BOOL.
Výchozí hodnota je FALSE.

Režimy šumu

Výčet Popis
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Vypočítá součet oktávek a posune rozsah výstupu od [-1, 1] do [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Vypočítá součet absolutní hodnoty každé oktávy.

Poznámka

Žádný režim neobsahuje explicitní uchycení výstupních hodnot.

Výstupní rastrový obrázek

Tento efekt generuje logicky nekonečnou velikost rastrového obrázku.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Minimální podporovaný server Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Záhlaví d2d1effects.h
Knihovna d2d1.lib, dxguid.lib

ID2D1Effect