Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí efektu vzdáleného difuzního osvětlení vytvořte obrázek, který vypadá jako nereflexní povrch, se kterým se zdá, že zdroj světla pochází z dlouhé vzdálenosti (například slunce nebo režijních světel) a světlo je rozptýleno ve všech směrech. Tento efekt používá alfa kanál jako výškovou mapu a osvětluje obrázek vzdáleným zdrojem světla.
Barva výstupního rastrového obrázku je výsledkem světlé barvy, umístění světla a geometrie povrchu obrázku. Výstup alfa kanálu pro každý pixel s difuzním osvětlením je vždy 1,0.
CLSID pro tento efekt je CLSID_D2D1DistantDiffuse.
- příklad obrázku
- vlastnosti efektu
- režimy škálování
- požadavky
- související témata
Příklad obrázku
Příklad zde ukazuje vstupní a výstupní obrázky vzdáleného difuzního světelného efektu.
Vlastnosti efektu
| Zobrazovaný název a výčet indexů | Popis |
|---|---|
| Azimut D2D1_DISTANTDIFFUSE_PROP_AZIMUTH |
Úhel směru zdroje světla v rovině XY vzhledem k ose X v čítačovém směru. Jednotky jsou ve stupních a musí být v rozmezí 0 až 360 stupňů. Typ je FLOAT. Výchozí hodnota je 0,0f. |
| Výška D2D1_DISTANTDIFFUSE_PROP_ELEVATION |
Úhel směru zdroje světla v rovině YZ vzhledem k ose Y v čítačovém směru. Jednotky jsou ve stupních a musí být v rozmezí 0 až 360 stupňů. Typ je FLOAT. Výchozí hodnota je 0,0f. |
| DiffuseConstant D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
Poměr difuzního odrazu k množství příchozího světla. Tato vlastnost musí být v rozmezí od 0 do 10 000 a je bez jednotky. Typ je FLOAT. Výchozí hodnota je 1,0f. |
| SurfaceScale D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE |
Koeficient měřítka ve směru Z. Měřítko povrchu je bezstavné a musí být v rozmezí od 0 do 10 000. Typ je FLOAT. Výchozí hodnota je 1,0f. |
| Barva D2D1_DISTANTDIFFUSE_PROP_COLOR |
Barva příchozího světla. Tato vlastnost je vystavena jako D2D1_VECTOR_3F (R, G, B) a slouží k výpočtu LR, LG, LB. Typ je D2D1_VECTOR_3F. Výchozí hodnota je {1.0f, 1.0f, 1.0f}. |
| KernelUnitLength D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
Velikost prvku v jádru Sobel použité k vygenerování normálního povrchu ve směru X a Y. Tato vlastnost se mapuje na hodnoty dx a dy v gradientu Sobel. Tato vlastnost je D2D1_VECTOR_2F (délka jednotky jádra X, délka jednotky jádra Y) a je definována v (pixely nezávislé na zařízení (DIPs)/Jednotka jádra). Efekt používá bilineární interpolaci ke škálování rastrového obrázku tak, aby odpovídal velikosti prvků jádra. Typ je D2D1_VECTOR_2F. Výchozí hodnota je {1.0f, 1.0f}. |
| ScaleMode D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE |
Režim interpolace, který efekt používá ke škálování obrázku na odpovídající délku jednotky jádra. Existuje šest režimů škálování, které jsou v rozsahu kvality a rychlosti. Typ je D2D1_DISTANTDIFFUSE_SCALE_MODE. Výchozí hodnota je D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Režimy škálování
| Výčet | Popis |
|---|---|
| D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Vzorkuje nejbližší jeden bod a použije ho. Tento režim používá méně času zpracování, ale vypíše nejnižší kvalitu obrázku. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR | Používá čtyřbodový vzorek a lineární interpolaci. Tento režim vypíše obrázek s vyšší kvalitou než nejbližší soused. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | Pro interpolaci se používá 16 vzorové krychlové jádro. Tento režim používá nejvíce času na zpracování, ale poskytuje obraz vyšší kvality. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Používá 4 lineární vzorky v jednom pixelu pro dobrý anti-aliasing okrajů. Tento režim je vhodný pro zmenšování obrazu o malé množství na snímcích s nízkým počtem pixelů. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC (škálovací režim anisotropní) | Používá anisotropní filtrování k vzorkování vzorku podle transformovaného tvaru rastrového obrázku. |
| D2D1_DISTANTDIFFUSE_ŠKÁLOVACÍ_REŽIM_VYSOKÁ_KVALITA_KUBICKÝ | Pomocí proměnné velikosti vysoce kvalitního kubického jádra provede předběžné zmenšení obrazu, pokud je zmenšení zapojeno do transformační matice. Pak použije režim krychlové interpolace pro konečný výstup. |
Poznámka
Pokud nevyberete režim, efekt se automaticky nastaví na D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
Požadavky
| Požadavek | Hodnota |
|---|---|
| Minimální podporovaný klient | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
| Minimální podporovaný server | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
| Záhlaví | d2d1effects.h |
| Knihovna | d2d1.lib, dxguid.lib |