Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
- 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.
- 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.
- 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 |