Condividi tramite


Effetto turbolenza

Usare l'effetto turbolenza per generare una bitmap basata sulla funzione di rumore Perlin.

L'effetto turbolenza non ha un'immagine di input.

Il CLSID per questo effetto è CLSID_D2D1Turbulence.

Immagine di esempio

screenshot dell'esempio di effetto che mostra l'output dell'effetto turbolenza.

L'effetto Turbolenza calcola la somma di uno o più ottafi della funzione di rumore Perlin. Il rumore perlin è una funzione pseudo-casuale il cui valore dipende dalla frequenza, dalla posizione e dal valore di inizializzazione. L'effetto genera i valori RGBA usando una di queste equazioni.

Se si seleziona la modalità D2D1_TURBULENCE_NOISE_FRACTAL_SUM rumore, l'effetto usa questa equazione.

Screenshot che mostra la funzione di turbolenza usata per generare una bitmap.

Se si seleziona la modalità D2D1_TURBULENCE_NOISE_TURBULENCE rumore, l'effetto usa questa equazione.

la funzione di turbolenza usata per generare una bitmap.

Nota

La funzione PerlinNoise ha un intervallo di [-1, 1].

Questo effetto restituisce valori pixel in alfa premoltiplicato.

Proprietà dell'effetto

Enumerazione del nome visualizzato e dell'indice Descrizione
Compensare
D2D1_TURBULENCE_PROP_OFFSET
Coordinate in cui viene generato l'output della turbolenza.
L'algoritmo usato per generare il disturbo Perlin dipende dalla posizione, quindi un offset diverso genera un output diverso. Questa proprietà non è associata e le unità sono specificate in DIP
Nota: L'offset non ha lo stesso effetto di una conversione perché l'output della funzione di disturbo è infinito e la funzione verrà disposta intorno al riquadro.
Il tipo è D2D1_VECTOR_2F.
Il valore predefinito è {0.0f, 0.0f}.
Grandezza
D2D1_TURBULENCE_PROP_SIZE
Dimensioni dell'output della turbolenza.
Questa proprietà non è associata e le unità sono specificate in DIP

Il tipo è D2D1_VECTOR_2F.
Il valore predefinito è {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Frequenze di base nella direzione X e Y. Questa proprietà è float e deve essere maggiore di 0. Le unità sono specificate in 1/DIP.
Un valore pari a 1 (1/DIP) per la frequenza di base determina il completamento del rumore perlin che completa un intero ciclo tra due pixel. L'interpolazione di facilità per questi pixel comporta pixel completamente casuali, poiché non esiste alcuna correlazione tra i pixel.
Valore pari a 0,1(1/DIP) per la frequenza di base, la funzione disturbo Perlin si ripete ogni 10 DIP. Ciò comporta la correlazione tra i pixel e l'effetto tipico della turbolenza è visibile.
Il tipo è D2D1_VECTOR_2F.
Il valore predefinito è {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Numero di ottafi per la funzione di rumore. Questa proprietà è un UINT32 e deve essere maggiore di 0.
Il tipo è UINT32.
Il valore predefinito è 1.
Seme
D2D1_TURBULENCE_PROP_SEED
Valore di inizializzazione per il generatore pseudo casuale. Questa proprietà non è associata.
Il tipo è UINT32.
Il valore predefinito è 0.
Rumore
D2D1_TURBULENCE_PROP_NOISE
Modalità rumore turbolenza. Questa proprietà può essere somma frattale o turbolenza. Indica se generare una bitmap basata sul rumore frattale o sulla funzione Turbulence. Per altre informazioni, vedi modalità rumore.
Il tipo è D2D1_TURBULENCE_NOISE.
Il valore predefinito è D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Cucibile
D2D1_TURBULENCE_PROP_STITCHABLE
Attiva o disattiva la cucitura. La frequenza di base viene modificata in modo che la bitmap di output possa essere regolata. Ciò è utile se si desidera affiancare più copie dell'output dell'effetto turbolenza.
  • True La bitmap di output può essere affiancata (usando l'effetto riquadro) senza l'aspetto delle giunzioni. La frequenza di base viene modificata in modo che la bitmap di output possa essere regolata.
  • False La frequenza di base non viene modificata, pertanto i riquadri possono essere visualizzati tra i riquadri se la bitmap è affiancata.

Il tipo è BOOL.
Il valore predefinito è FALSE.

Modalità rumore

Enumerazione Descrizione
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Calcola una somma degli ottafi, spostando l'intervallo di output da [-1, 1], a [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Calcola una somma del valore assoluto di ogni ottave.

Nota

Nessuna delle due modalità contiene un blocco esplicito dei valori di output.

Bitmap di output

Questo effetto genera una bitmap con dimensioni logiche infinite.

Fabbisogno

Requisito Valore
Client minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Server minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Intestazione d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect