Efek pencahayaan difus jauh
Gunakan efek pencahayaan jauh-difus untuk membuat gambar yang tampaknya merupakan permukaan non-reflektif dengan di mana sumber cahaya tampaknya berasal dari jarak jauh (seperti matahari atau lampu overhead) dan cahaya tersebar di semua arah. Efek ini menggunakan saluran alfa sebagai peta tinggi dan menyalakan gambar dengan sumber cahaya yang jauh.
Warna bitmap output adalah hasil dari warna terang, posisi cahaya, dan geometri permukaan gambar. Output saluran alfa untuk setiap piksel dengan pencahayaan difus selalu 1,0.
CLSID untuk efek ini CLSID_D2D1DistantDiffuse.
Contoh gambar
Contoh di sini menunjukkan gambar input dan output dari efek pencahayaan jauh-diffuse.
Properti efek
Nama tampilan dan enumerasi indeks | Deskripsi |
---|---|
Azimut D2D1_DISTANTDIFFUSE_PROP_AZIMUTH |
Sudut arah sumber cahaya di bidang XY relatif terhadap sumbu X ke arah jam penghitung yang bijaksana. Unit berada dalam derajat dan harus antara 0 dan 360 derajat. Jenisnya adalah FLOAT. Nilai defaultnya adalah 0,0f. |
Elevasi D2D1_DISTANTDIFFUSE_PROP_ELEVATION |
Sudut arah sumber cahaya di bidang YZ relatif terhadap sumbu Y ke arah jam penghitung bijaksana. Unit berada dalam derajat dan harus antara 0 dan 360 derajat. Jenisnya adalah FLOAT. Nilai defaultnya adalah 0,0f. |
DiffuseConstant D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
Rasio pantulan difus terhadap jumlah cahaya masuk. Properti ini harus antara 0 dan 10.000 dan tidak bersatu. Jenisnya adalah FLOAT. Nilai defaultnya adalah 1,0f. |
SurfaceScale D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE |
Faktor skala ke arah Z. Skala permukaan tidak bersatu dan harus antara 0 dan 10.000. Jenisnya adalah FLOAT. Nilai defaultnya adalah 1,0f. |
Warna D2D1_DISTANTDIFFUSE_PROP_COLOR |
Warna cahaya masuk. Properti ini diekspos sebagai D2D1_VECTOR_3F (R, G, B) dan digunakan untuk menghitung LR, LG, LB. Jenisnya D2D1_VECTOR_3F. Nilai defaultnya adalah {1.0f, 1.0f, 1.0f}. |
KernelUnitLength D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
Ukuran elemen dalam kernel Sobel yang digunakan untuk menghasilkan permukaan normal ke arah X dan Y. Properti ini memetakan ke nilai dx dan dy dalam gradien Sobel. Properti ini adalah D2D1_VECTOR_2F (Panjang Unit Kernel X, Panjang Unit Kernel Y) dan didefinisikan dalam (piksel independen perangkat (DIP)/Unit Kernel). Efeknya menggunakan interpolasi bilinear untuk menskalakan bitmap agar sesuai dengan ukuran elemen kernel. Jenisnya D2D1_VECTOR_2F. Nilai defaultnya adalah {1.0f, 1.0f}. |
ScaleMode D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE |
Mode interpolasi yang digunakan efek untuk menskalakan gambar ke panjang unit kernel yang sesuai. Ada enam mode skala yang berkisar dalam kualitas dan kecepatan. Jenisnya D2D1_DISTANTDIFFUSE_SCALE_MODE. Nilai defaultnya adalah D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Mode skala
Enumeration | Deskripsi |
---|---|
D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Sampel titik tunggal terdekat dan menggunakannya. Mode ini menggunakan lebih sedikit waktu pemrosesan, tetapi menghasilkan gambar kualitas terendah. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR | Menggunakan sampel empat titik dan interpolasi linier. Mode ini menghasilkan gambar berkualitas lebih tinggi daripada tetangga terdekat. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | Menggunakan 16 sampel kernel kubik untuk interpolasi. Mode ini menggunakan waktu pemrosesan terbanyak, tetapi menghasilkan gambar berkualitas lebih tinggi. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Menggunakan 4 sampel linier dalam satu piksel untuk anti-alias tepi yang baik. Mode ini baik untuk menurunkan skala dengan jumlah kecil pada gambar dengan beberapa piksel. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC | Menggunakan pemfilteran anisotropic untuk mengambil sampel pola sesuai dengan bentuk bitmap yang diubah. |
D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Menggunakan ukuran variabel kernel kubik berkualitas tinggi untuk melakukan pra-downscale gambar jika downscaling terlibat dalam matriks transformasi. Kemudian menggunakan mode interpolasi kubik untuk output akhir. |
Catatan
Jika Anda tidak memilih mode, efek akan default ke D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Server minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Header | d2d1effects.h |
Pustaka | d2d1.lib, dxguid.lib |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk