Udostępnij za pośrednictwem


Efekt turbulencji

Użyj efektu turbulencji, aby wygenerować mapę bitową na podstawie funkcji szumu Perlin.

Efekt turbulencji nie ma obrazu wejściowego.

Identyfikator CLSID dla tego efektu jest CLSID_D2D1Turbulence.

Przykładowy obraz

przykładowy zrzut ekranu przedstawiający dane wyjściowe efektu turbulencji.

Efekt Turbulence oblicza sumę co najmniej jednej oktawy funkcji szumu Perlin. Szum perlin jest pseudolosową funkcją, której wartość zależy od częstotliwości, położenia i wartości inicjowania. Efekt generuje wartości RGBA przy użyciu jednego z tych równań.

Jeśli wybierzesz tryb D2D1_TURBULENCE_NOISE_FRACTAL_SUM szumu, efekt użyje tego równania.

Zrzut ekranu przedstawiający funkcję turbulencji używaną do generowania mapy bitowej.

W przypadku wybrania trybu D2D1_TURBULENCE_NOISE_TURBULENCE szumu efekt używa tego równania.

funkcji turbulencji używanej do generowania mapy bitowej.

Nuta

Funkcja PerlinNoise ma zakres [-1, 1].

Ten efekt generuje wartości pikseli w premultiplied alfa.

Właściwości efektu

Nazwa wyświetlana i wyliczenie indeksu Opis
Przesunięcie
D2D1_TURBULENCE_PROP_OFFSET
Współrzędne, w których są generowane dane wyjściowe turbulencji.
Algorytm używany do generowania szumu perlin jest zależny od pozycji, więc inne przesunięcie powoduje inne dane wyjściowe. Ta właściwość nie jest ograniczona, a jednostki są określone w dips
Uwaga: Przesunięcie nie ma takiego samego efektu jak tłumaczenie, ponieważ dane wyjściowe funkcji szumu są nieskończone, a funkcja będzie owijać się wokół kafelka.
Typ jest D2D1_VECTOR_2F.
Wartość domyślna to {0.0f, 0.0f}.
Rozmiar
D2D1_TURBULENCE_PROP_SIZE
Rozmiar danych wyjściowych turbulencji.
Ta właściwość nie jest ograniczona, a jednostki są określone w dips

Typ jest D2D1_VECTOR_2F.
Wartość domyślna to {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Częstotliwości bazowe w kierunku X i Y. Ta właściwość jest zmiennoprzecinkowa i musi być większa niż 0. Jednostki są określone w 1/DIPs.
Wartość 1 (1/DIPs) dla częstotliwości bazowej powoduje, że szum Perlin kończy cały cykl między dwoma pikselami. Łatwość interpolacji dla tych pikseli powoduje całkowite losowe piksele, ponieważ nie ma korelacji między pikselami.
Wartość 0,1(1/DIPs) dla częstotliwości bazowej, funkcja szumu perlin powtarza się co 10 DIPs. Powoduje to korelację między pikselami a typowym efektem turbulencji.
Typ jest D2D1_VECTOR_2F.
Wartość domyślna to {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Liczba oktawów funkcji szumu. Ta właściwość jest właściwością UINT32 i musi być większa niż 0.
Typ to UINT32.
Wartość domyślna to 1.
Nasienie
D2D1_TURBULENCE_PROP_SEED
Nasion dla pseudo random generatora. Ta właściwość jest niezwiązana.
Typ to UINT32.
Wartość domyślna to 0.
Hałas
D2D1_TURBULENCE_PROP_NOISE
Tryb szumu turbulencji. Ta właściwość może być sumą fraktalną lub turbulencją . Wskazuje, czy generować mapę bitową na podstawie szumu fraktalnego, czy funkcji Turbulence. Aby uzyskać więcej informacji, zobacz Tryby szumu.
Typ to D2D1_TURBULENCE_NOISE.
Wartość domyślna to D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Szycie
D2D1_TURBULENCE_PROP_STITCHABLE
Włącza lub wyłącza szwy. Częstotliwość podstawowa jest dostosowywana, aby można było szyć mapę bitową wyjściową. Jest to przydatne, jeśli chcesz utworzyć kafelek z wieloma kopiami danych wyjściowych efektu turbulencji.
  • True Mapa bitowa wyjściowa może być kafelkowa (przy użyciu efektu kafelka) bez wyglądu szwów. Częstotliwość podstawowa jest dostosowywana, aby można było szyć mapę bitową wyjściową.
  • False Częstotliwość podstawowa nie jest dostosowana, więc szwy mogą pojawiać się między kafelkami, jeśli mapa bitowa jest kafelkami.

Typ to BOOL.
Wartość domyślna to FALSE.

Tryby szumu

Wyliczenie Opis
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Oblicza sumę oktawów, przenosząc zakres danych wyjściowych z [-1, 1], na [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Oblicza sumę bezwzględnej wartości każdej oktawy.

Nuta

Żaden tryb nie zawiera jawnego zacisku wartości wyjściowych.

Mapa bitowa wyjściowa

Ten efekt generuje logicznie nieskończoną mapę bitową o rozmiarze.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Minimalny obsługiwany serwer Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Nagłówek d2d1effects.h
Biblioteka d2d1.lib, dxguid.lib

ID2D1Effect