Fehér szintű korrekciós effektus

Ez az effektus lehetővé teszi, hogy a kép fehér szintje lineárisan skálázható legyen. Ez különösen akkor hasznos, ha a megjelenített fénytartomány és a jelenet által hivatkozott fénytér között konvertál, vagy fordítva.

Az effektus tulajdonságait a D2D1_WHITELEVELADJUSTMENT_PROP enumerálásiazonosítja, a CLSID pedig CLSID_D2D1WhiteLevelAdjustment.

Effektus tulajdonságai

Név és index számbavételének megjelenítése Típus és alapértelmezett érték Leírás
InputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_INPUT_WHITE_LEVEL LEBEG A bemeneti kép fehér szintje, nitekben.
OutputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_OUTPUT_WHITE_LEVEL LEBEG A kimeneti kép fehér szintje, nitsben.

Megjegyzések

Ez az effektus a HDR-tónustérkép-effektussal kombinálva lehetővé teszi a HDR-képek renderelését a Direct2D-ben megfelelő színkezeléssel és hangleképezéssel. További részletekért tekintse meg a témakör megjegyzéseit. Az effektusok minden olyan keretrendszerre irányulnak, amely az osztályon belüli legjobb HDR-képmegtekintési élményt szeretné biztosítani, amely kezeli az összes Windows HDR-képformátumot, és alkalmazkodik a kijelző képességeihez (legyen szó HDR-ről vagy WCG/SDR-ről).

Windows rendszeren a rendszer feltételezi, hogy minden SDR/WCG-tartalom megjeleníthető fénytartományban van, ami azt jelenti, hogy a tartalom fehér szintjét fel kell skálázni a kijelző fehér szintjére, mielőtt az végül megjelenik. Ennek azonban nem mindig az alkalmazása a feladata. Ezzel szemben a HDR-tartalom egy jelenet által hivatkozott fénytérben van, ami azt jelenti, hogy végül nem szabad úgy skálázni, hogy megfeleljen a kijelző fehér szintjének. Ez azt jelenti, hogy előfordulhat, hogy az alkalmazásnak skálázást kell végeznie bizonyos körülmények között a HDR-tartalmak renderelésekor, hogy ez legyen a nettó eredmény.

Ha a Windows asztal SDR vagy WCG módban van, az asztal egy megjelenített fénytartományban áll. Ha azonban a Windows asztali számítógép HDR módban van, akkor az asztal összeállítása jelenetben megadott fénytartományban történik. Ennek ellenére maga a Desktop Window Manager (DWM) végzi a 8 bites kompozíciós felületek fényerejének módosítását (más néven SDRBoost), és ez leegyszerűsíti az alkalmazást ebben az esetben. Ennek ellenére az automatikus kiemelés azt jelenti, hogy az alkalmazás szerepe az egyik fénytartományból a másikba való konvertálásban attól függ, hogy az alkalmazás milyen összeállítási formátumot használ a tartalom bemutatásához.

Az alábbi táblázat ismerteti azokat az eseteket, amikor az alkalmazásnak fehér szintű kiigazítást kell végeznie, és nem szabad elvégeznie, valamint azt, hogy milyen legyen a beállítás. A kiigazítás általában három tényezőtől függ.

  1. Bemeneti tartalom színtere. A bemeneti tartalom nagy dinamikatartományú (HDR) fényerőértékeket tartalmaz-e, vagy sem. A WCG-tartalom ugyanúgy viselkedik, mint az SDR a fényerősség szempontjából.
  2. Kompozíció formátuma. A DWM-nek megjelenített célfelület képpontformátuma – például egy felcserélési lánc vagy egy kompozíciós felület. A Direct2D használatával történő renderelés esetén ez vagy UINT8 vagy FP16.
  3. Asztali speciális színmód. Azt, hogy a DWM SDR, WCG vagy HDR módban fut-e az aktuális kijelzőhöz. Ezeket az információkat a következő DXGI_OUTPUT_DESC1::ColorSpace vagy AdvancedColorInfo.CurrentAdvancedColorKind.

E három tényező alapján meg kell adnia a megfelelő értékeket a InputWhiteLevel és OutputWhiteLevel tulajdonságokhoz.

Bemeneti tartalom Kompozíció formátuma Speciális színmód InputWhiteLevel OutputWhiteLevel
SDR/WCG UINT8 Bármely N/A N/A
SDR/WCG FP16 SDR/WCG N/A N/A
SDR/WCG FP16 HDR SDRWhite 80
HDR Bármely SDR/WCG 80 DXGI_OUTPUT_DESC1::MaxLuminance
HDR UINT8 HDR 80 SDRWhite
HDR FP16 HDR N/A N/A

A táblázatban a 80 érték az sRGB- vagy scRGB-tartalom hivatkozási fehér szintje, nitekben. Ehhez használhatja a d2d1effects_2.h-ben definiált állandó D2D1_SCENE_REFERRED_SDR_WHITE_LEVEL. A SDRWhite érték azoknak a niteknek a száma, amelyeket a kijelzőnek használnia kell a fehér sRGB-tartalom megjelenítéséhez. Ezt az értéket a AdvancedColorInfo.SdrWhiteLevelInNits tulajdonsággal lehet lekérni. Az N/A érték azt jelenti, hogy ebben a forgatókönyvben nem használunk fehér szintű kiigazítást; eltávolíthatja az effektust a gráfból, vagy beállíthatja egy no-opértékeit.

Vegye figyelembe, hogy azokban az esetekben, amikor az alkalmazás nem igényel fehér szintű beállítást, a DWM vagy a kijelző kezelheti a megjelenített fénytartományról a jelenetre hivatkozó fénytérré alakítást.

  • SDR/WCG módban az átalakítás a DWM-összeállítás után történik, és az adott kijelzőn megjelenő összes tartalomra vonatkozik. A megjelenítés implicit módon végrehajtja ezt az átalakítást.
  • HDR módban az átalakítást a DWM automatikusan végrehajtja a kompozíció előtt, amíg az alkalmazás kompozíciós felülete SDR.

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél Windows 10, 1809-es verzió (10.0; 17763-os build) [asztali alkalmazások | UWP-alkalmazások]
Fejléc d2d1effects_2.h
Könyvtár d2d1.lib, dxguid.lib