Fjärrspridande belysningseffekt
Använd den avlägsna diffusa belysningseffekten för att skapa en bild som verkar vara en icke-reflekterande yta där ljuskällan verkar komma från ett långt avstånd (som solen eller overheadljusen) och ljuset är utspridt i alla riktningar. Den här effekten använder alfakanalen som en höjdkarta och lyser bilden med en avlägsen ljuskälla.
Färgen på utdatabitkartan är ett resultat av ljus färg, ljus position och bildens ytgeometri. Alfakanalens utdata för varje pixel med diffus belysning är alltid 1,0.
CLSID för den här effekten är CLSID_D2D1DistantDiffuse.
Exempelbild
Exemplet här visar in- och utdatabilderna av den avlägsna diffusa belysningseffekten.
Effektegenskaper
Visningsnamn och indexuppräkning | Beskrivning |
---|---|
Azimut D2D1_DISTANTDIFFUSE_PROP_AZIMUTH |
Ljuskällans riktningsvinkel i XY-planet i förhållande till X-axeln i räknarklockans riktning. Enheterna är i grader och måste vara mellan 0 och 360 grader. Typen är FLOAT. Standardvärdet är 0,0f. |
Höjd D2D1_DISTANTDIFFUSE_PROP_ELEVATION |
Ljuskällans riktningsvinkel i YZ-planet i förhållande till Y-axeln i räknareurvis riktning. Enheterna är i grader och måste vara mellan 0 och 360 grader. Typen är FLOAT. Standardvärdet är 0,0f. |
DiffuseConstant D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
Förhållandet mellan diffus reflektion och mängden inkommande ljus. Den här egenskapen måste vara mellan 0 och 10 000 och är enhetslös. Typen är FLOAT. Standardvärdet är 1,0f. |
SurfaceScale D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE |
Skalningsfaktorn i Z-riktningen. Ytskalan är enhetslös och måste vara mellan 0 och 10 000. Typen är FLOAT. Standardvärdet är 1,0f. |
Färg D2D1_DISTANTDIFFUSE_PROP_COLOR |
Färgen på det inkommande ljuset. Den här egenskapen exponeras som en D2D1_VECTOR_3F (R, G, B) och används för att beräkna LR, LG, LB. Typen är D2D1_VECTOR_3F. Standardvärdet är {1.0f, 1.0f, 1.0f}. |
KernelEnhetsLängd D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
Storleken på ett element i Sobel-kerneln som används för att generera ytnormal i X- och Y-riktningen. Den här egenskapen mappar till dx- och dy-värdena i Sobelgradienten. Den här egenskapen är en D2D1_VECTOR_2F (Kernel Unit Length X, Kernel Unit Length Y) och definieras i (enhetsoberoende bildpunkter (DIP:er)/Kernelenhet). Effekten använder bilinearinterpolation för att skala bitmappen så att den matchar storleken på kernelelement. Typen är D2D1_VECTOR_2F. Standardvärdet är {1.0f, 1.0f}. |
Skalningsläge D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE |
Interpolationsläget som effekten använder för att skala bilden till motsvarande längd på kernelenheten. Det finns sex skalningslägen som varierar i kvalitet och hastighet. Typen är D2D1_DISTANTDIFFUSE_SCALE_MODE. Standardvärdet är D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Skalningslägen
Uppräkning | Beskrivning |
---|---|
D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Prover den närmaste enskilda punkten och använder den. I det här läget används mindre bearbetningstid, men den lägsta kvalitetsbilden matas ut. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR | Använder ett fyrpunktsexempel och linjär interpolation. Det här läget ger en bild av högre kvalitet än närmaste granne. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | Använder en 16-sampelskubisk kärna för interpolering. Det här läget använder mest bearbetningstid, men ger en bild av högre kvalitet. |
D2D1_DISTANTDIFFUSE_SKALNINGS_LÄGE_MULTI_SAMPLE_LINEAR | Använder 4 linjära exempel inom en enda pixel för bra kantutjämning. Det här läget är bra för att skala ned med små mängder på bilder med några bildpunkter. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC | Använder anisotropisk filtrering för att prova ett mönster enligt bitmappens transformerade form. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Använder en kubisk kärna med variabel storlek av hög kvalitet för att förskalera bilden när nedskalning ingår i transformationsmatrisen. Använder sedan kubikinterpoleringsläget för de slutliga utdata. |
Anteckning
Om du inte väljer ett läge är effekten som standard D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
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 |