Dela via


Turbulenseffekt

Använd turbulenseffekten för att generera en bitmapp baserat på funktionen Perlin-brus.

Turbulenseffekten har ingen indatabild.

CLSID för den här effekten är CLSID_D2D1Turbulence.

Exempelbild

skärmbild av effektexempel som visar utdata från turbulenseffekten.

Turbulence-effekten beräknar summan av en eller flera oktaver av Perlin-brusfunktionen. Perlinbrus är en pseudo-slumpmässig funktion vars värde beror på frekvensen, positionen och frövärdet. Effekten genererar RGBA-värdena med någon av dessa ekvationer.

Om du väljer D2D1_TURBULENCE_NOISE_FRACTAL_SUM brusläge använder effekten den här ekvationen.

Skärmbild som visar den turbulensfunktion som används för att generera en bitmapp.

Om du väljer D2D1_TURBULENCE_NOISE_TURBULENCE brusläge använder effekten den här ekvationen.

den turbulensfunktion som används för att generera en bitmapp.

Not

Funktionen PerlinNoise har ett intervall på [-1, 1].

Den här effekten matar ut pixelvärden i premultiplied alfa.

Effektegenskaper

Visningsnamn och indexuppräkning Beskrivning
Uppväga
D2D1_TURBULENCE_PROP_OFFSET
Koordinaterna där turbulensens utdata genereras.
Algoritmen som används för att generera Perlin-bruset är positionsberoende, så en annan förskjutning resulterar i en annan utdata. Den här egenskapen är inte begränsad och enheterna anges i DIP:er
Obs! Förskjutningen har inte samma effekt som en översättning eftersom brusfunktionens utdata är oändliga och funktionen omsluter panelen.
Typen är D2D1_VECTOR_2F.
Standardvärdet är {0.0f, 0.0f}.
Storlek
D2D1_TURBULENCE_PROP_SIZE
Storleken på turbulensens utdata.
Den här egenskapen är inte begränsad och enheterna anges i DIP:er

Typen är D2D1_VECTOR_2F.
Standardvärdet är {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Basfrekvenserna i X- och Y-riktningen. Den här egenskapen är en flyttal och måste vara större än 0. Enheterna anges i 1/DIP:er.
Ett värde på 1 (1/DIPs) för basfrekvensen resulterar i att Perlin-bruset slutför en hel cykel mellan två bildpunkter. Den enkla interpoleringen för dessa bildpunkter resulterar i helt slumpmässiga pixlar, eftersom det inte finns någon korrelation mellan bildpunkterna.
Ett värde på 0,1(1/DIPs) för basfrekvensen, perlinbrusfunktionen upprepar var 10:e DIP:er. Detta resulterar i korrelation mellan pixlar och den typiska turbulenseffekten är synlig.
Typen är D2D1_VECTOR_2F.
Standardvärdet är {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Antalet oktaver för brusfunktionen. Den här egenskapen är en UINT32 och måste vara större än 0.
Typen är UINT32.
Standardvärdet är 1.
Frö
D2D1_TURBULENCE_PROP_SEED
Fröet för pseudo slumpgeneratorn. Den här egenskapen är obundna.
Typen är UINT32.
Standardvärdet är 0.
Buller
D2D1_TURBULENCE_PROP_NOISE
Brusläget för turbulens. Den här egenskapen kan vara antingen fraktal summa eller turbulens. Anger om du vill generera en bitmapp baserat på fractalbrus eller funktionen Turbulence. Mer information finns i bruslägen.
Typen är D2D1_TURBULENCE_NOISE.
Standardvärdet är D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Stygnbar
D2D1_TURBULENCE_PROP_STITCHABLE
Sätter på eller av sömmar. Basfrekvensen justeras så att utdatabitmappen kan sys. Det här är användbart om du vill panela flera kopior av turbulenseffektens utdata.
  • Sant Utdatabitmappen kan läggas till (med hjälp av paneleffekten) utan att sömmarna ser ut. Basfrekvensen justeras så att utdatabitmappen kan sys.
  • False Basfrekvensen är inte justerad, så sömmar kan visas mellan paneler om bitmappen är tillagda.

Typen är BOOL.
Standardvärdet är FALSE.

Bruslägen

Uppräkning Beskrivning
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Beräknar en summa av oktaverna och flyttar utdataintervallet från [-1, 1] till [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Beräknar en summa av det absoluta värdet för varje oktav.

Not

Inget av lägena innehåller en explicit klämma av utdatavärdena.

Utdatabitmapp

Den här effekten genererar en bitmapp i logiskt oändlig storlek.

Krav

Krav Värde
Lägsta klient som stöds Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar]
Lägsta server som stöds Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar]
Rubrik d2d1effects.h
Bibliotek d2d1.lib, dxguid.lib

ID2D1Effect