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
- właściwości Efekt
- tryby szumu
- danych bitowych wyjściowych
- wymagania dotyczące
- Tematy pokrewne
Przykładowy obraz
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.
W przypadku wybrania trybu D2D1_TURBULENCE_NOISE_TURBULENCE szumu efekt używa tego równania.
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.
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 |