Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu etki, görüntünün beyaz düzeyinin doğrusal olarak ölçeklendirilmesini sağlar. Bu, özellikle ekrana başvurulan parlaklık alanı ile sahne tarafından başvurulan parlaklık alanı (veya tam tersi) arasında dönüştürme yaptığınızda yararlıdır.
Bu etkinin özellikleri,D2D1_WHITELEVELADJUSTMENT_PROP numaralandırması tarafından tanımlanır ve CLSID CLSID_D2D1WhiteLevelAdjustment.
Efekt özellikleri
| Görünen ad ve dizin numaralandırması | Tür ve varsayılan değer | Açıklama |
|---|---|---|
| InputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_INPUT_WHITE_LEVEL | YÜZMEK | Giriş görüntüsünün nits içindeki beyaz düzeyi. |
| OutputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_OUTPUT_WHITE_LEVEL | YÜZMEK | Çıkış görüntüsünün nits içindeki beyaz düzeyi. |
Açıklamalar
Bu efektin, Direct2D'de HDR görüntüleri düzgün renk yönetimi ve ton eşlemesi ile işlemenize olanak sağlamak için HDR ton harita efekti birleştirilmesi amaçlanmıştır. Daha fazla ayrıntı için bu konunun Açıklamalar bakın. Efektler, tüm Windows HDR görüntü biçimlerini işleyen ve ekranın özelliklerine (HDR veya WCG/SDR) uyum sağlayan sınıfının en iyisi HDR görüntü görüntüleme deneyimi sağlamak isteyen herhangi bir çerçeveyi hedeflemektedir.
Windows'da, tüm SDR/WCG içeriğinin ekrana başvurulan bir parlaklık alanında olduğu varsayılır; bu da içeriğin beyaz düzeyinin, nihai olarak sunulmadan önce ekranın beyaz düzeyine ölçeklendirilmesi gerektiği anlamına gelir. Ancak bunu yapmak her zaman uygulamanızın sorumluluğunda değildir. Buna karşılık, HDR içeriğinin sahne tarafından başvurulan bir parlaklık alanında olduğu varsayılır, yani ekranın beyaz düzeyine uyacak şekilde ölçeklendirilmemelidir. Bununla birlikte, bunun net sonuç olduğundan emin olmak için uygulamanızın HDR içeriğini işlerken bazı durumlarda ölçeklendirme gerçekleştirmesi gerekebilir.
Windows masaüstü SDR veya WCG modundayken, masaüstü ekrana başvurulan bir parlaklık alanında oluşturulur. Ancak Windows masaüstü HDR modundaysa, masaüstü bileşimi sahne tarafından başvurulan parlaklık alanında gerçekleşir. Buna göre, Masaüstü Pencere Yöneticisi'nin (DWM) kendisi 8 bit bileşim yüzeyleri için parlaklık ayarlamaları (genellikle SDRBoost olarak adlandırılır) gerçekleştirir ve bu durum için uygulamanızı basitleştirir. Yine de otomatik artırma, uygulamanızın bir parlaklık alanından diğerine dönüştürmedeki rolünün, uygulamanızın içeriğini sunmak için kullandığı kompozisyon biçimine bağlı olduğu anlamına gelir.
Aşağıdaki tabloda, uygulamanızın beyaz düzey ayarlaması yapması ve gerçekleştirmemesi gereken durumlar ve bu ayarlamanın ne olması gerektiği açıklanmaktadır. Genel olarak, ayarlama üç faktöre bağlıdır.
- giriş içeriği renk alanı. Giriş içeriğinizin yüksek dinamik aralık (HDR) parlaklık değerleri içerip içermediği. WCG içeriği, parlaklık davranışı için SDR ile aynı şekilde davranır.
- Kompozisyon biçimi. DWM'ye sunulan hedef yüzeyin piksel biçimi; örneğin, bir değiştirme zinciri veya kompozisyon yüzeyi. Direct2D kullanarak işlenirken, bu UINT8 veya FP16.
- Masaüstü gelişmiş renk modu. DWM'nin geçerli ekran için SDR, WCG veya HDR modunda çalışıp çalışmadığı. Bu bilgileri DXGI_OUTPUT_DESC1::ColorSpace veya AdvancedColorInfo.CurrentAdvancedColorKindaracılığıyla alın.
Bu üç faktöre bağlı olarak, InputWhiteLevel ve OutputWhiteLevel özellikleri için uygun değerleri ayarlamanız gerekir.
| Giriş içeriği | Kompozisyon biçimi | Gelişmiş renk modu | InputWhiteLevel | OutputWhiteLevel |
|---|---|---|---|---|
| SDR/WCG | UINT8 | Herhangi | YOK | YOK |
| SDR/WCG | FP16 | SDR/WCG | YOK | YOK |
| SDR/WCG | FP16 | HDR | SDRWhite | 80 |
| HDR | Herhangi | SDR/WCG | 80 | DXGI_OUTPUT_DESC1::MaxLuminance |
| HDR | UINT8 | HDR | 80 | SDRWhite |
| HDR | FP16 | HDR | YOK | YOK |
Tabloda, 80 değeri sRGB veya scRGB içeriği için nitlerde beyaz başvuru düzeyidir. Bunun için, d2d1effects_2.hiçinde tanımlanan D2D1_SCENE_REFERRED_SDR_WHITE_LEVELsabitini kullanabilirsiniz.
SDRWhite değeri, ekranın beyaz sRGB içeriğini görüntülemek için kullanması gereken nit sayısıdır.
AdvancedColorInfo.SdrWhiteLevelInNits özelliğine erişerek bu değeri alabilirsiniz. Yok değeri, beyaz düzeyi ayarlamanın bu senaryoda kullanılmadığı anlamına gelir; efekti grafiğinizden kaldırabilir veya bir no-opiçin değerler ayarlayabilirsiniz.
Uygulamanın beyaz düzeyde ayarlamaya ihtiyaç duyulmadığı durumlarda DWM veya ekranın, ekrana başvurulan parlaklık alanından sahne referanslı parlaklık alanına dönüştürmeyi işleyebileceklerini unutmayın.
- SDR/WCG modunda dönüştürme, DWM bileşiminden sonra gerçekleşir ve bu ekrana sunulan tüm içerikler için geçerlidir. Ekran bu dönüştürmeyi örtük olarak gerçekleştirir.
- HDR modunda, uygulamanızın kompozisyon yüzeyi SDR olduğu sürece dönüştürme, oluşturmadan önce DWM tarafından otomatik olarak gerçekleştirilir.
Gereksinim -leri
| Gereksinim | Değer |
|---|---|
| Desteklenen en düşük istemci | Windows 10, sürüm 1809 (10.0; Derleme 17763) [masaüstü uygulamaları | UWP uygulamaları] |
| Üstbilgi | d2d1effects_2.h |
| Kütüphane | d2d1.lib, dxguid.lib |
İlgili konular
- ID2D1Effect arabirimi
- D2D1_WHITELEVELADJUSTMENT_PROP numaralandırma