Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj efektu oświetlenia odległego, aby utworzyć obraz, który wydaje się być nieodświetlającą powierzchnią, gdzie źródło światła wydaje się pochodzić z długiej odległości (takiej jak słońce lub światła narzutowe), a światło jest rozpraszane we wszystkich kierunkach. Ten efekt używa kanału alfa jako mapy wysokości i oświetla obraz z odległym źródłem światła.
Kolor mapy bitowej danych wyjściowych jest wynikiem koloru światła, położenia światła i geometrii powierzchni obrazu. Wyjście kanału alfa dla każdego piksela z oświetleniem rozproszonym jest zawsze 1.0.
Identyfikator CLSID dla tego efektu jest CLSID_D2D1DistantDiffuse.
- Przykładowy obraz
- właściwości Efekt
- tryby skalowania
- Wymagania
- Tematy pokrewne
Przykładowy obraz
W tym przykładzie przedstawiono obrazy wejściowe i wyjściowe efektu oświetlenia rozproszonego odległego.
Właściwości efektu
| Nazwa wyświetlana i wyliczenie indeksu | Opis |
|---|---|
| Azymut D2D1_DISTANTDIFFUSE_PROP_AZYMUT |
Kąt źródła światła w płaszczyźnie XY względem osi X, mierzony przeciwnie do ruchu wskazówek zegara. Jednostki są w stopniach i muszą należeć do zakresu od 0 do 360 stopni. Typ jest FLOAT. Wartość domyślna to 0,0f. |
| Podniesienie D2D1_DISTANTDIFFUSE_PROP_WZNIESIENIE |
Kąt kierunku źródła światła w płaszczyźnie YZ względem osi Y przeciwnie do ruchu wskazówek zegara. Jednostki są w stopniach i muszą należeć do zakresu od 0 do 360 stopni. Typ to liczba zmiennoprzecinkowa (FLOAT). Wartość domyślna to 0,0f. |
| Dyfuzorconstant D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
Stosunek odbicia rozproszonego do ilości światła przychodzącego. Ta właściwość musi należeć do przedziału od 0 do 10 000 i jest bez jednostek. Typ to „FLOAT”. Wartość domyślna to 1.0f. |
| SurfaceScale D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE |
Współczynnik skalowania w kierunku Z. Skala powierzchni nie ma jednostek i musi mieścić się w zakresie od 0 do 10 000. Typ jest FLOAT. Wartość domyślna to 1.0f. |
| Kolor D2D1_DISTANTDIFFUSE_PROP_COLOR |
Kolor światła przychodzącego. Ta właściwość jest uwidoczniona jako D2D1_VECTOR_3F (R, G, B) i używana do obliczania LR, LG, LB. Typ to jest D2D1_VECTOR_3F. Wartość domyślna to {1.0f, 1.0f, 1.0f}. |
| KernelUnitLength D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
Rozmiar elementu w jądrze Sobela używanym do generowania powierzchni normalnej w kierunku X i Y. Ta właściwość przypisuje wartości dx i dy do gradientu Sobela. Ta właściwość to D2D1_VECTOR_2F (długość jednostki kernela X, długość jednostki kernela Y) i jest zdefiniowana w (pikselach niezależnych od urządzenia (ang. DIPs)/Jednostkach kernela). Efekt używa interpolacji dwuliniowej do skalowania mapy bitowej w celu dopasowania rozmiaru elementów jądra. Typ jest D2D1_VECTOR_2F. Wartość domyślna to {1.0f, 1.0f}. |
| Tryb skalowania D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE |
Tryb interpolacji używany przez efekt do skalowania obrazu do odpowiedniej długości jednostki jądra. Istnieje sześć trybów skalowania, które wahają się w zakresie jakości i szybkości. Typ jest D2D1_DISTANTDIFFUSE_SCALE_MODE. Wartość domyślna to D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Tryby skalowania
| Wyliczenie | Opis |
|---|---|
| D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Próbkuje najbliższy pojedynczy punkt i używa go. Ten tryb używa mniej czasu przetwarzania, ale generuje obraz o najniższej jakości. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR (tryb skali liniowej) | Używa próbki czterech punktów i interpolacji liniowej. Ten tryb generuje obraz o wyższej jakości niż najbliższy sąsiad. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | Używa 16-próbkowego jądra sześciennego do interpolacji. Ten tryb używa najbardziej czasu przetwarzania, ale generuje obraz o wyższej jakości. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Używa 4 próbek liniowych w jednym pikselu do dobrego antyaliasingu krawędzi. Ten tryb jest dobry do skalowania w dół w niewielkim stopniu na obrazach z niewielką liczbą pikseli. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC | Używa filtrowania anisotropowego do próbkowania wzorca zgodnie z przekształconym kształtem mapy bitowej. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Używa wysokiej jakości sześciennego jądra o zmiennej wielkości, aby wstępnie zmniejszyć rozmiar obrazu, jeśli skala w dół jest uwzględniona w macierzy transformacji. Następnie używa trybu interpolacji sześciennych dla końcowych danych wyjściowych. |
Notatka
Jeśli nie wybierzesz trybu, domyślnie zostanie ustawiony efekt D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
Wymagania
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
| Minimalny obsługiwany serwer | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
| Nagłówek | d2d1effects.h |
| Biblioteka | d2d1.lib, dxguid.lib |