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
- vlastnosti efektu
- režimy šumu
- výstupní rastrový obrázek
- požadavky na
- související témata
Příklad obrázku
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.
Pokud vyberete režim šumu D2D1_TURBULENCE_NOISE_TURBULENCE efekt použije tuto rovnici.
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.
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 |