Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Efek ini memungkinkan tingkat putih gambar diskalakan secara linier. Ini sangat membantu ketika Anda mengonversi antara ruang luminasi yang dirujuk tampilan dan ruang luminasi yang dirujuk adegan, atau sebaliknya.
Properti untuk efek ini diidentifikasi oleh enumerasi D2D1_WHITELEVELADJUSTMENT_PROP, dan CLSID CLSID_D2D1WhiteLevelAdjustment.
Properti efek
| Nama tampilan dan enumerasi indeks | Ketik dan nilai default | Deskripsi |
|---|---|---|
| InputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_INPUT_WHITE_LEVEL | MENGAPUNG | Tingkat putih gambar input, dalam nits. |
| OutputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_OUTPUT_WHITE_LEVEL | MENGAPUNG | Tingkat putih gambar output, dalam nits. |
Komentar
Efek ini dimaksudkan untuk dikombinasikan dengan efek peta nada HDR untuk memungkinkan Anda merender gambar HDR di Direct2D dengan manajemen warna dan pemetaan nada yang tepat. Lihat Komentar topik tersebut untuk detail selengkapnya. Efek ini ditujukan pada kerangka kerja apa pun yang ingin memberikan pengalaman melihat gambar HDR terbaik di kelasnya yang menangani semua format gambar HDR Windows, dan beradaptasi dengan kemampuan tampilan (baik ITU HDR atau WCG/SDR).
Pada Windows, semua konten SDR/WCG diasumsikan berada dalam ruang luminance yang dirujuk tampilan, yang berarti bahwa tingkat putih konten harus diskalakan hingga tingkat putih tampilan sebelum akhirnya disajikan. Namun, aplikasi Anda tidak selalu bertanggung jawab untuk melakukan ini. Sebaliknya, konten HDR diasumsikan berada dalam ruang luminance yang dirujuk adegan, yang berarti bahwa konten tersebut seharusnya tidak diskalakan agar sesuai dengan tingkat putih tampilan. Meskipun demikian, aplikasi Anda mungkin perlu melakukan penskalaan dalam beberapa keadaan saat merender konten HDR untuk memastikan bahwa ini adalah hasil bersih.
Ketika desktop Windows dalam mode SDR atau WCG, desktop terdiri dalam ruang luminasi yang dirujuk tampilan. Tetapi jika desktop Windows dalam mode HDR, maka komposisi desktop terjadi di ruang luminasi yang dirujuk adegan. Meskipun demikian, Desktop Window Manager (DWM) sendiri melakukan penyesuaian luminans (sering disebut SDRBoost) untuk permukaan komposisi 8-bit, dan yang menyederhanakan aplikasi Anda untuk kasus tersebut. Meskipun demikian, peningkatan otomatis berarti bahwa peran aplikasi Anda dalam mengonversi dari satu ruang luminance ke ruang lainnya tergantung pada format komposisi yang digunakan aplikasi Anda untuk menyajikan kontennya.
Tabel di bawah ini menjelaskan kasus kapan aplikasi Anda harus dan tidak boleh melakukan penyesuaian tingkat putih, serta penyesuaian tersebut. Secara umum, penyesuaian tergantung pada tiga faktor.
- Masukkan ruang warna konten. Apakah konten input Anda berisi nilai luminance rentang dinamis tinggi (HDR) atau tidak. Konten WCG berperilaku sama dengan SDR untuk perilaku luminance.
- Format komposisi. Format piksel permukaan target yang disajikan ke DWM—misalnya, rantai pertukaran atau permukaan komposisi . Saat merender menggunakan Direct2D, ini adalah UINT8 atau FP16.
- Mode warna tingkat lanjut desktop. Apakah DWM berjalan dalam mode SDR, WCG, atau HDR untuk tampilan saat ini. Dapatkan informasi ini melalui DXGI_OUTPUT_DESC1::ColorSpace atau AdvancedColorInfo.CurrentAdvancedColorKind.
Berdasarkan ketiga faktor ini, Anda harus mengatur nilai yang sesuai untuk properti InputWhiteLevel dan OutputWhiteLevel.
| Isi input | Format komposisi | Mode warna tingkat lanjut | InputWhiteLevel | OutputWhiteLevel |
|---|---|---|---|---|
| SDR/WCG | UINT8 | Apa pun | N/A | N/A |
| SDR/WCG | FP16 | SDR/WCG | N/A | N/A |
| SDR/WCG | FP16 | HDR | SDRWhite | 80 |
| HDR | Apa pun | SDR/WCG | 80 | DXGI_OUTPUT_DESC1::MaxLuminance |
| HDR | UINT8 | HDR | 80 | SDRWhite |
| HDR | FP16 | HDR | N/A | N/A |
Dalam tabel, nilai 80 adalah tingkat putih referensi, dalam nits, untuk konten sRGB atau scRGB. Untuk ini, Anda dapat menggunakan D2D1_SCENE_REFERRED_SDR_WHITE_LEVELkonstanta , yang didefinisikan dalam d2d1effects_2.h. Nilai SDRWhite adalah jumlah nit yang harus digunakan tampilan untuk menampilkan konten sRGB putih. Anda dapat mengambil nilai ini dengan mengakses propertiAdvancedColorInfo.SdrWhiteLevelInNits. Nilai N/A berarti bahwa penyesuaian tingkat putih tidak digunakan dalam skenario ini; Anda dapat menghapus efek dari grafik Anda, atau mengatur nilai untuk no-op.
Perhatikan bahwa, dalam kasus di mana penyesuaian tingkat putih tidak diperlukan oleh aplikasi, DWM atau tampilan mungkin menangani konversi dari ruang luminasi yang dirujuk tampilan ke ruang luminance yang dirujuk adegan.
- Dalam mode SDR/WCG, konversi terjadi setelah komposisi DWM, dan berlaku untuk semua konten yang disajikan ke tampilan tersebut. Tampilan secara implisit melakukan konversi ini.
- Dalam mode HDR, konversi dilakukan secara otomatis oleh DWM sebelum komposisi, selama permukaan komposisi aplikasi Anda adalah SDR.
Persyaratan
| Syarat | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 10, versi 1809 (10.0; Build 17763) [aplikasi desktop | Aplikasi UWP] |
| Header | d2d1effects_2.h |
| Perpustakaan | d2d1.lib, dxguid.lib |