Sdílet prostřednictvím


Efekt vzdáleného difuzního osvětlení

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

Příklad zde ukazuje vstupní a výstupní obrázky vzdáleného difuzního světelného efektu.

příklad efektu snímek obrazovky se vstupními a výstupními 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

ID2D1Effect