Távoli diffúz fényhatás
A távoli diffúz világítási effektussal olyan képet hozhat létre, amely úgy tűnik, hogy nem fényvisszaverő felület, ahol úgy tűnik, hogy a fényforrás nagy távolságból (például a nap vagy a felső fények) származik, és a fény minden irányban el van szórva. Ez az effektus az alfa csatornát használja magasságtérképként, és távoli fényforrással világítja meg a képet.
A kimeneti bitmap színe a fény színének, a fény helyzetének és a kép felületi geometriájának az eredménye. A diffúz megvilágítású képpontok alfa csatornakimenete mindig 1,0.
Az effektus CLSID azonosítója CLSID_D2D1DistantDiffuse.
Példakép
Az alábbi példa a távoli diffúz fényeffektus bemeneti és kimeneti képeit mutatja be.
Effektus tulajdonságai
Név és index számbavételének megjelenítése | Leírás |
---|---|
Azimuth D2D1_DISTANTDIFFUSE_PROP_AZIMUTH |
A fényforrás irányszöge az XY síkban az óra órajelének X tengelyéhez viszonyítva. Az egységek fokban vannak, és 0 és 360 fok között kell lenniük. A típus FLOAT. Az alapértelmezett érték 0,0f. |
Emelkedés D2D1_DISTANTDIFFUSE_PROP_ELEVATION |
A fényforrás irányszöge az YZ síkban az Y tengelyhez viszonyítva az óra órajele szerint. Az egységek fokban vannak, és 0 és 360 fok között kell lenniük. A típus FLOAT. Az alapértelmezett érték 0,0f. |
Diffúziós állandó D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
A diffúz visszaverődés aránya a bejövő fény mennyiségével. Ennek a tulajdonságnak 0 és 10 000 közöttinek kell lennie, és egység nélkülinek kell lennie. A típus FLOAT. Az alapértelmezett érték 1,0f. |
SurfaceScale D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE |
A skálázási tényező a Z irányban. A felületi skálának egység nélkülinek kell lennie, és 0 és 10 000 közöttinek kell lennie. A típus FLOAT. Az alapértelmezett érték 1,0f. |
Szín D2D1_DISTANTDIFFUSE_PROP_COLOR |
A bejövő fény színe. Ez a tulajdonság D2D1_VECTOR_3F (R, G, B) néven érhető el, és az LR, LG, LBkiszámítására szolgál. A típus D2D1_VECTOR_3F. Az alapértelmezett érték {1.0f, 1.0f, 1.0f}. |
KernelEgységhossz D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
A Sobel-kernel egy elemének mérete, amellyel az X és Y irányban normál felületet hoz létre. Ez a tulajdonság a Sobel-színátmenet dx és dy értékeire lesz leképezve. Ez a tulajdonság egy D2D1_VECTOR_2F (kernelegység hossza X, kernelegység hossza Y), és az eszközfüggetlen képpontokban (DIP-k)/kernelegységekben van definiálva. Az effektus kétvonalas interpolációval skálázza a bitképet a kernelelemek méretének megfelelően. A típus D2D1_VECTOR_2F. Az alapértelmezett érték {1.0f, 1.0f}. |
ScaleMode D2D1_DISTANTDIFFUSE_PROP_SKÁLÁZÁSI_MÓD |
Az interpolációs mód, amelyet az effektus a rendszerkép megfelelő kernelegységhosszra történő skálázásához használ. Hat skálázási mód van, amelyek minőségben és sebességben is mozognak. A típus: D2D1_DISTANTDIFFUSE_SCALE_MODE. Az alapértelmezett érték D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Méretezési módok
Felsorolás | Leírás |
---|---|
D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | A legközelebbi egyetlen pontot mintázza, és azt használja. Ez a mód kevesebb feldolgozási időt használ, de a legalacsonyabb minőségű képet adja ki. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR | Négypontos mintát és lineáris interpolációt használ. Ez a mód jobb minőségű képet ad ki, mint a legközelebbi szomszéd. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | 16 köbös kernelt használ az interpolációhoz. Ez a mód a legtöbb feldolgozási időt használja, de jobb minőségű képet ad ki. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Egyetlen képponton belül 4 lineáris mintát használ a jó élelsimításhoz. Ez a mód alkalmas arra, hogy kisebb méretre skálázza a kevés képpontos képeket. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC | Anizotróp szűréssel mintát vesz a bitkép átalakított alakjának megfelelően. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Változó méretű, kiváló minőségű köbös mag használatával előre lecsökkenti a képet, ha az átalakítási mátrix tartalmaz leskálázást. Ezután a végső kimenethez a köbinterpolációs módot használja. |
Jegyzet
Ha nem jelöl ki módot, az effektus alapértelmezés szerint D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
Követelmények
Követelmény | Érték |
---|---|
Minimálisan támogatott ügyfél | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Minimálisan támogatott kiszolgáló | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Fejléc | d2d1effects.h |
Könyvtár | d2d1.lib, dxguid.lib |