Turbulence effect
Gebruik het turbulence-effect om een bitmap te genereren op basis van de Perlin-ruisfunctie.
Het turbulence-effect heeft geen invoerafbeelding.
De CLSID voor dit effect is CLSID_D2D1Turbulence.
- voorbeeldafbeelding
- eigenschappen van effect
- ruismodi
- uitvoer bitmap
- vereisten
- Verwante onderwerpen
Voorbeeldafbeelding
Het Turbulence-effect berekent de som van een of meer octaven van de Perlin-ruisfunctie. Perlin-ruis is een pseudo-willekeurige functie waarvan de waarde afhankelijk is van de frequentie, positie en seed-waarde. Het effect genereert de RGBA-waarden met behulp van een van deze vergelijkingen.
Als u de D2D1_TURBULENCE_NOISE_FRACTAL_SUM ruismodus selecteert, wordt deze vergelijking gebruikt.
Als u de D2D1_TURBULENCE_NOISE_TURBULENCE ruismodus selecteert, wordt deze vergelijking gebruikt.
Notitie
De functie PerlinNoise
heeft een bereik van [-1, 1].
Met dit effect worden pixelwaarden in vooraf gedefinieerde alfa uitgevoerd.
Effecteigenschappen
Weergavenaam en indexenumeratie | Beschrijving |
---|---|
Afstand D2D1_TURBULENCE_PROP_OFFSET |
De coördinaten waar de turbulence-uitvoer wordt gegenereerd. Het algoritme dat wordt gebruikt om de Perlin-ruis te genereren, is afhankelijk van positie, dus een andere offset resulteert in een andere uitvoer. Deze eigenschap is niet gebonden en de eenheden worden opgegeven in DIPs Opmerking: De offset heeft niet hetzelfde effect als een vertaling omdat de uitvoer van de ruisfunctie oneindig is en de functie rond de tegel loopt. Het type is D2D1_VECTOR_2F. De standaardwaarde is {0.0f, 0.0f}. |
Grootte D2D1_TURBULENCE_PROP_SIZE |
De grootte van de uitvoer van de turbulence. Deze eigenschap is niet gebonden en de eenheden worden opgegeven in DIPs Het type is D2D1_VECTOR_2F. De standaardwaarde is {0.0f, 0.0f}. |
BaseFrequency D2D1_TURBULENCE_PROP_BASE_FREQUENCY |
De basisfrequenties in de X- en Y-richting. Deze eigenschap is een float en moet groter zijn dan 0. De eenheden worden opgegeven in 1/DIPs. Een waarde van 1 (1/DIPs) voor de basisfrequentie resulteert in de Perlin-ruis die een volledige cyclus tussen twee pixels voltooit. Het gemakinterpolatie voor deze pixels resulteert in volledig willekeurige pixels, omdat er geen correlatie tussen de pixels is. Een waarde van 0,1(1/DIPs) voor de basisfrequentie, herhaalt de perlinruisfunctie elke 10 DIPs. Dit resulteert in correlatie tussen pixels en het typische turbulence-effect. Het type is D2D1_VECTOR_2F. De standaardwaarde is {0.01f, 0,01f}. |
NumOctaves D2D1_TURBULENCE_PROP_NUM_OCTAVES |
Het aantal octaven voor de ruisfunctie. Deze eigenschap is een UINT32 en moet groter zijn dan 0. Het type is UINT32. De standaardwaarde is 1. |
Zaad D2D1_TURBULENCE_PROP_SEED |
Het zaad voor de pseudo-willekeurige generator. Deze eigenschap is niet gebonden. Het type is UINT32. De standaardwaarde is 0. |
Lawaai D2D1_TURBULENCE_PROP_NOISE |
De ruismodus van de turbulence. Deze eigenschap kan fractale som of turbulencezijn. Geeft aan of een bitmap moet worden gegenereerd op basis van Fractal Noise of de Turbulence-functie. Zie Ruismodi voor meer informatie. Het type is D2D1_TURBULENCE_NOISE. De standaardwaarde is D2D1_TURBULENCE_NOISE_FRACTAL_SUM. |
Steekbaar D2D1_TURBULENCE_PROP_STITCHABLE |
Hiermee schakelt u het stikken in of uit. De basisfrequentie wordt aangepast, zodat de uitvoer bitmap kan worden genaaid. Dit is handig als u meerdere exemplaren van de uitvoer van het turbulence-effect wilt tegelen.
Het type is BOOL. De standaardwaarde is FALSE. |
Ruismodi
Opsomming | Beschrijving |
---|---|
D2D1_TURBULENCE_NOISE_FRACTAL_SUM | Berekent een som van de octaven, waarbij het uitvoerbereik wordt verplaatst van [-1, 1], tot [0, 1]. |
D2D1_TURBULENCE_NOISE_TURBULENCE | Berekent een som van de absolute waarde van elk octaaf. |
Notitie
Geen van beide modus bevat een expliciete klem van de uitvoerwaarden.
Uitvoer bitmap
Dit effect genereert een logisch oneindig formaat bitmap.
Eisen
Eis | Waarde |
---|---|
Minimaal ondersteunde client | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Minimaal ondersteunde server | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Rubriek | d2d1effects.h |
Bibliotheek | d2d1.lib, dxguid.lib |