Skip to main content
Configure un plan de présentation pour la composition avec ID3D12CommandQueue::PresentX.

Syntaxe

Membres

pTokens Type : D3D12XBOX_FRAME_PIPELINE_TOKEN Jeton de pipeline qui identifie la trame utilisée pour produire les ppResources qui constituent le plan. Le Token est généré à l’origine de la trame et retourné par un appel à ID3D12Device::WaitFrameEventX avec l’événement D3D12XBOX_FRAME_EVENT_ORIGIN. ResourceCount Type : UINT Nombre de ressources à présenter pour le plan. Plusieurs ressources peuvent consister en des textures de couleur et alpha dédiées et/ou en des vues uniques pour chaque joueur. ppResources Type : ID3D12Resource* Pointeur vers le premier élément d’un tableau de ressources à présenter à l’écran pour le plan. Si la prise en charge des ressources de vues uniques doit être ajoutée à l’avenir, le tableau doit être organisé par groupe de canaux (par exemple, RGBE ou A8), puis par joueur. Lors de la présentation d’une paire RGBE + A8, la ressource RGBE doit être placée avant la ressource A8. pSrcViewRects Type : D3D12_RECT* Pointeur facultatif vers le premier élément d’un tableau de rectangles, correspondant à la région de vue de chaque joueur inclus dans la présentation. La taille du tableau est définie par le paramètre ViewCount passé à PresentX. Pendant la présentation, chaque région de vue définie par son rectangle source est mise à l’échelle vers une région de destination définie à l’écran, comme l’indique pDestPlacementBase. Ces rectangles peuvent se chevaucher et/ou être identiques; ils identifient simplement l’étendue souhaitée pour chaque vue de joueur. Une valeur nulle peut être passée pour ce membre afin de définir des rectangles de vue source qui couvrent entièrement le plan, selon les dimensions de la ressource associée au plan. pDestPlacementBase Type : D3D12XBOX_VIEW_RECT* Pointeur facultatif vers exactement un rectangle de vue normalisé définissant la région de destination du premier joueur inclus dans la présentation. Pendant la présentation, le rectangle de vue source du premier joueur dans la ressource du plan est mis à l’échelle pour remplir la région de destination définie par pDestPlacementBase; les rectangles de vue source de tous les autres joueurs sont mis à l’échelle vers des régions de destination calculées indirectement, selon la relation entre les régions source et de destination du premier joueur. Plus précisément, pDestPlacementBase sert à dériver en interne un décalage de placement et des facteurs de mise à l’échelle pour la vue du premier joueur, et toutes les autres vues utilisent une mise à l’échelle identique et des décalages complémentaires. PresentX ne peut pas être utilisée pour effectuer une mise à l’échelle et une composition indépendantes des vues source vers des régions de destination arbitraires; PresentX met plutôt à l’échelle et décale uniformément les vues source vers l’écran. Le rectangle de vue de placement de destination est exprimé en coordonnées normalisées à virgule flottante. Des valeurs gauche et haut de 0.0 correspondent à l’extrémité supérieure gauche de l’écran de destination. Des valeurs droite et bas de 1.0 correspondent à l’extrémité inférieure droite de l’écran de destination. Une valeur nulle peut être passée pour ce membre afin de définir une couverture complète de la destination pour la vue du premier joueur. Comme exemple d’utilisation de pDestPlacementBase en présence de plusieurs pSrcViewRects, considérez un jeu en écran partagé à trois joueurs. Pour présenter les vues des joueurs à partir d’une ressource d’échange de 3840 x 2160 sous la forme d’une seule rangée de trois colonnes de taille identique couvrant tout l’écran, un appelant fournirait ce qui suit : pSrcViewRects : {0, 0, 1280, 2160}, {1280, 0, 2560, 2160}, {2560, 0, 3840, 2160} pDestPlacementBase : {0.0f, 0.0f, 1.0f / 3.0f, 1.0f} ColorSpace Type : DXGI_COLOR_SPACE_TYPE* Espace colorimétrique dans lequel interpréter les données de ressource fournies pour le plan. L’espace colorimétrique peut également servir à déterminer quelles ressources des plans fournis doivent être sélectionnées pour la présentation à l’écran (HDR) et lesquelles doivent être utilisées pour l’encodage GameDVR (SDR). Si aucun espace colorimétrique n’est indiqué (c’est-à-dire si les D3D12XBOX_PRESENT_PLANE_PARAMETERS eux-mêmes sont nuls), l’espace colorimétrique est défini comme DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709. Les espaces colorimétriques valides sont DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 et DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020, tous deux avec correction gamma. XBOX Series X|S autorise les espaces colorimétriques avec correction gamma DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P709 et DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_D65P3. De plus, XBOX Series X|S autorise les espaces colorimétriques à lumière linéaire DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709, DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_D65P3 et DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P2020. Les espaces colorimétriques à lumière linéaire ne sont autorisés qu’avec le format de ressource d’échange DXGI_FORMAT_R9G9B9E5_SHAREDEXP. Les espaces colorimétriques SDR avec correction gamma sont autorisés avec des ressources d’échange de tout format, mais les espaces colorimétriques HDR ne sont autorisés qu’avec des ressources d’échange au format DXGI_FORMAT_R10G10B10A2_UNORM. Avec DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709, le contenu de la mémoire tampon d’échange doit utiliser les primaires 709 et la plage de valeurs par canal doit être comprise entre 0.0 et 1.0. En mode HDR, la plage de 0.0 à 1.0 est interprétée comme allant de 0 à 10 000 nits. Autrement dit, un blanc D65 de 10 000 nits est représenté par (1.0, 1.0, 1.0). De même, avec DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_D65P3, la plage de 0.0 à 1.0 est interprétée comme allant de 0 à 10 000 nits et un blanc D65 de 10 000 nits est (1.0, 1.0, 1.0). La mémoire tampon d’échange doit contenir du contenu créé avec des primaires de couleur P3 et un point blanc D65. Cela diffère de l’espace colorimétrique DCI_P3, dont le point blanc n’est pas D65. Avec DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P2020, la mémoire tampon d’échange doit contenir des primaires de couleur 2020 avec un point blanc D65, dans la plage de 0.0 à 1.0, interprétée comme allant de 0 à 10 000 nits. Un blanc D65 de 10 000 nits est (1.0, 1.0, 1.0). L’espace colorimétrique DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P709 s’attend à ce que le contenu de la mémoire tampon d’échange soit créé avec des primaires de couleur Rec. 709 et un point blanc D65, mais encodé avec la courbe PQ (ST.2084). L’espace colorimétrique DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_D65P3 s’attend à ce que le contenu de la mémoire tampon d’échange soit créé avec des primaires de couleur P3 et un point blanc D65, mais encodé avec la courbe PQ (ST.2084) et non avec une courbe de puissance 1.0/2.6 ou sRGB. Cela diffère de DCI_P3, qui utilise un encodage et un point blanc différents. L’espace colorimétrique DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 s’attend à ce que le contenu de la mémoire tampon d’échange soit créé avec des primaires de couleur Rec. 2020 et un point blanc D65, et encodé avec une courbe PQ (ST.2084). ScaleFilter Type : D3D12XBOX_PRESENT_PLANE_SCALE_FILTER Filtre de mise à l’échelle préféré à utiliser lors du suréchantillonnage d’une source de plan vers une destination d’affichage plus grande. Le filtre fourni n’est qu’une demande et son application en sortie n’est pas garantie. Le filtre de mise à l’échelle est ignoré sur XBOX Series X|S. ExtendedDescCount Type : UINT Nombre de descriptions de plan étendues fournies dans la liste pExtendedDescs. pExtendedDescs Type : D3D12XBOX_PRESENT_PLANE_DESC* Pointeur facultatif vers le premier élément d’un tableau de descriptions de plan étendues. Utilisez ce pointeur pour personnaliser davantage le plan utilisé dans la présentation. Flags Type : D3D12XBOX_PRESENT_PLANE_FLAGS Ensemble d’indicateurs utilisés pour fournir un contrôle supplémentaire sur la composition et l’affichage du plan.

Remarques

Les titres peuvent configurer deux plans d’affichage qui peuvent servir à composer automatiquement l’interface utilisateur/HUD sur leur scène. Dans ce cas, la composition est effectuée par le matériel d’affichage sans coût supplémentaire en GPU, en mémoire ou en latence. Pour plus d’informations sur la façon de configurer cela, consultez Superpositions matérielles et ressources d’échange

Configuration requise

En-tête : d3d12_x.h Plateformes prises en charge : famille XBOX One

Voir aussi

PresentX
Last modified on October 6, 2026