Effet de réglage du niveau blanc

Cet effet permet de mettre à l’échelle de manière linéaire le niveau de blanc d’une image. Cela s’avère particulièrement utile lorsque vous convertissez un espace de luminance à l’écran et un espace de luminance référencé, ou vice versa.

Les propriétés de cet effet sont identifiées par l' énumération D2D1_WHITELEVELADJUSTMENT_PROP, et le CLSID est CLSID_D2D1WhiteLevelAdjustment.

Propriétés d’effet

Nom complet et énumération d’index Type et valeur par défaut Description
InputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_INPUT_WHITE_LEVEL FLOAT Niveau de blanc de l’image d’entrée, en nits.
OutputWhiteLevel, D2D1_WHITELEVELADJUSTMENT_PROP_OUTPUT_WHITE_LEVEL FLOAT Niveau de blanc de l’image de sortie, en nits.

Notes

Cet effet est destiné à être combiné avec l' effet carte de tonalité HDR pour vous permettre de restituer des images HDR dans Direct2D avec une gestion des couleurs et un mappage des tons appropriés. Pour plus d’informations, consultez les Remarques de cette rubrique. ces effets sont destinés à toute infrastructure qui souhaite fournir une expérience d’affichage d’image hdr de meilleure qualité qui gère tous les formats d’image hdr Windows et s’adapte aux fonctionnalités de l’affichage (que ce soit en hdr ou WCG/SDR).

sur Windows, tout le contenu SDR/WCG est supposé être dans un espace de luminance à l’écran, ce qui signifie que le niveau de blanc du contenu doit être mis à l’échelle jusqu’au niveau blanc de l’affichage avant d’être présenté au final. Toutefois, ce n’est pas toujours la responsabilité de votre application. En revanche, le contenu HDR est supposé être dans un espace de luminance à la scène, ce qui signifie qu’il ne doit pas être mis à l’échelle pour correspondre au niveau de blanc de l’affichage. Cela dit, votre application devra peut-être effectuer une mise à l’échelle dans certaines circonstances lors du rendu du contenu HDR pour s’assurer qu’il s’agit du résultat net.

lorsque le Windows desktop est en mode SDR ou WCG, le bureau est constitué d’un espace de luminance à l’écran. toutefois, si le Windows desktop est en mode HDR, la composition du bureau se produit dans l’espace de luminance à la scène. Cela dit, le Gestionnaire de fenêtrage (DWM) lui-même effectue des réglages de luminance (souvent appelés SDRBoost) pour les surfaces de composition 8 bits et simplifie votre application pour ce cas. Même dans ce cas, l’augmentation automatique signifie que le rôle de votre application dans la conversion d’un espace de luminance à un autre dépend du format de composition utilisé par votre application pour présenter son contenu.

Le tableau ci-dessous décrit les cas où votre application doit et ne doit pas effectuer un ajustement de niveau blanc, ainsi que la nature de cette modification. En général, l’ajustement dépend de trois facteurs.

  1. Colorspace de contenu d’entrée. Si votre contenu d’entrée contient ou non des valeurs de luminance HDR (High dynamique Range). Le contenu WCG se comporte comme SDR pour le comportement de luminance.
  2. Format de composition. Format de pixel de la surface cible présentée au DWM — , par exemple, une chaîne de permutation ou une surface de composition. Lors du rendu à l’aide de Direct2D, il peut s’agir de UINT8 ou FP16.
  3. Mode couleur avancée du bureau. Indique si le DWM s’exécute en mode SDR, WCG ou HDR pour l’affichage actuel. Obtenez ces informations par le biais de DXGI_OUTPUT_DESC1 :: colorspace ou AdvancedColorInfo. CurrentAdvancedColorKind.

Sur la base de ces trois facteurs, vous devez définir les valeurs appropriées pour les InputWhiteLevel OutputWhiteLevel Propriétés et.

Contenu d’entrée Format de composition Mode de couleurs avancé InputWhiteLevel OutputWhiteLevel
SDR/WCG DESTINÉES Quelconque N/A N/A
SDR/WCG FP16 SDR/WCG N/A N/A
SDR/WCG FP16 ÉTENDUE SDRWhite 80
ÉTENDUE Quelconque SDR/WCG 80 DXGI_OUTPUT_DESC1 :: MaxLuminance
ÉTENDUE DESTINÉES ÉTENDUE 80 SDRWhite
ÉTENDUE FP16 ÉTENDUE N/A N/A

Dans le tableau, la valeur 80 est le niveau de référence blanc, en nits, pour le contenu sRVB ou ScRVB. Pour ce faire, vous pouvez utiliser la constante D2D1_SCENE_REFERRED_SDR_WHITE_LEVEL, qui est définie dans d2d1effects_2.h . La valeur SDRWhite est le nombre de nits que l’affichage doit utiliser pour afficher le contenu en blanc sRVB. Vous pouvez récupérer cette valeur en accédant à la propriété AdvancedColorInfo. SdrWhiteLevelInNits . La valeur N/A signifie que le réglage du niveau de blanc n’est pas utilisé dans ce scénario. vous pouvez soit supprimer l’effet de votre graphique, soit définir des valeurs pour une absence d’opération.

Notez que, dans les cas où un réglage du niveau de blanc n’est pas requis par l’application, le DWM ou l’affichage peut gérer la conversion de l’espace de luminance à l’affichage et l’espace de luminance référencé.

  • En mode SDR/WCG, la conversion se produit après la composition DWM et s’applique à tout le contenu présenté à cet affichage. L’affichage effectue implicitement cette conversion.
  • En mode HDR, la conversion est effectuée automatiquement par le DWM avant la composition, tant que la surface de composition de votre application est SDR.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809 (10,0 ; Build 17763) [ applications de bureau | UWP]
En-tête d2d1effects _ 2. h
Bibliothèque d2d1. lib, dxguid. lib