> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12XBOX_PRESENT_PLANE_PARAMETERS (família XBOX One)

> Configura um plano de apresentação para composição com ID3D12CommandQueue::PresentX.

Configura um plano de apresentação para composição com [ID3D12CommandQueue::PresentX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_presentx).

## Sintaxe

```cpp theme={null}
typedef struct D3D12XBOX_PRESENT_PLANE_PARAMETERS
{
    D3D12XBOX_FRAME_PIPELINE_TOKEN Token;
    UINT ResourceCount;
    ID3D12Resource** ppResources;
    D3D12_RECT* pSrcViewRects;
    D3D12XBOX_VIEW_RECT* pDestPlacementBase;
    DXGI_COLOR_SPACE_TYPE ColorSpace;
    D3D12XBOX_PRESENT_PLANE_SCALE_FILTER ScaleFilter;
    UINT ExtendedDescCount;
    D3D12XBOX_PRESENT_PLANE_DESC* pExtendedDescs;
    D3D12XBOX_PRESENT_PLANE_FLAGS Flags;
} D3D12XBOX_PRESENT_PLANE_PARAMETERS;
```

### Membros

*pTokens*
Tipo: [D3D12XBOX\_FRAME\_PIPELINE\_TOKEN](/pt-BR/reference/graphics/d3d12_x/enums/d3d12xbox_frame_pipeline_token)

Token de pipeline que identifica o quadro usado na produção dos *ppResources* que constituem o plano. O *Token* é gerado na origem do quadro e retornado por meio de uma chamada a [ID3D12Device::WaitFrameEventX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_waitframeeventx) com o evento [D3D12XBOX\_FRAME\_EVENT\_ORIGIN](/pt-BR/reference/graphics/d3d12_x/enums/d3d12xbox_frame_event_type).

*ResourceCount*
Tipo: UINT

Número de recursos a serem apresentados para o plano. Vários recursos podem consistir em texturas dedicadas de cor e alfa e/ou em exibições exclusivas para cada jogador.

*ppResources*
Tipo: [ID3D12Resource](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nn-d3d12-id3d12resource)\*

Ponteiro para o primeiro elemento de uma matriz de recursos a serem apresentados na tela para o plano. Se o suporte a recursos de exibição exclusivos for adicionado no futuro, a matriz deverá ser organizada por grupo de canais (por exemplo, RGBE ou A8) e depois por jogador. Ao apresentar um par RGBE + A8, o recurso RGBE deve ser ordenado antes do recurso A8.

*pSrcViewRects*
Tipo: [D3D12\_RECT](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-rect)\*

Ponteiro opcional para o primeiro elemento de uma matriz de retângulos, correspondente à região de exibição, de cada jogador incluído na apresentação. O tamanho da matriz é definido pelo parâmetro [ViewCount](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_present_parameters) passado para [PresentX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_presentx). Durante a apresentação, cada região de exibição definida pelo seu retângulo de origem será dimensionada para uma região de destino definida na tela, conforme especificado por *pDestPlacementBase*. Esses retângulos podem se sobrepor e/ou coincidir; eles apenas identificam as extensões desejadas para a exibição de cada jogador. É possível passar nulo para o membro para definir retângulos de exibição de origem que se estendem para cobrir totalmente o plano, conforme especificado pelas dimensões do recurso associado ao plano.

*pDestPlacementBase*
Tipo: [D3D12XBOX\_VIEW\_RECT](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_view_rect)\*

Ponteiro opcional para exatamente um retângulo de exibição normalizado que define a região de destino do primeiro jogador incluído na apresentação. Durante a apresentação, o retângulo de exibição de origem do primeiro jogador no recurso do plano será dimensionado para preencher a região de destino definida por *pDestPlacementBase*; os retângulos de exibição de origem de todos os outros jogadores serão dimensionados para regiões de destino calculadas indiretamente, de acordo com a relação entre as regiões de origem e destino do primeiro jogador. Mais especificamente, *pDestPlacementBase* é usado para derivar internamente um deslocamento de posicionamento e fatores de escala para a exibição do primeiro jogador, e todas as outras exibições empregam escala idêntica e deslocamentos complementares. [PresentX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_presentx) não pode ser usado para realizar dimensionamento e composição independentes de exibições de origem para regiões de destino arbitrárias; em vez disso, PresentX  dimensiona e desloca uniformemente as exibições de origem para a tela.

O retângulo de exibição de posicionamento de destino é expresso em coordenadas de ponto flutuante normalizadas. Valores left e top de 0.0 correspondem ao extremo superior esquerdo da tela de destino. Valores right e bottom de 1.0 correspondem ao extremo inferior direito da tela de destino. É possível passar nulo para o membro para definir a cobertura total de destino para a exibição do primeiro jogador.

Como exemplo do uso de *pDestPlacementBase* na presença de vários *pSrcViewRects*, considere um jogo em tela dividida com três jogadores. Para apresentar as exibições dos jogadores a partir de um recurso de troca de 3840 x 2160 na forma de uma única linha com três colunas de tamanho idêntico que cobre toda a tela, um chamador forneceria o seguinte:

*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*
Tipo: [DXGI\_COLOR\_SPACE\_TYPE](https://learn.microsoft.com/en-us/windows/win32/api/dxgicommon/ne-dxgicommon-dxgi_color_space_type)\*

Espaço de cores no qual interpretar os dados de recurso fornecidos para o plano. O espaço de cores também pode ser usado para determinar quais recursos dos planos fornecidos devem ser selecionados para apresentação na tela (HDR) e quais devem ser usados para codificação do GameDVR (SDR). Se nenhum espaço de cores for fornecido (ou seja, se os próprios [D3D12XBOX\_PRESENT\_PLANE\_PARAMETERS](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_present_plane_parameters) forem nulos), o espaço de cores será definido como **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G22\_NONE\_P709**. Os espaços de cores válidos são **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G22\_NONE\_P709** e **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_P2020**, ambos com correção de gama. O XBOX Series X|S permite os espaços de cores com correção de gama **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_P709** e **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_D65P3**. Além disso, o XBOX Series X|S permite os espaços de cores de luz linear **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_P709**, **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_D65P3** e **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_P2020**. Os espaços de cores de luz linear só são permitidos com o formato de recurso de troca **DXGI\_FORMAT\_R9G9B9E5\_SHAREDEXP**. Os espaços de cores SDR com correção de gama são permitidos com recursos de troca de qualquer formato, mas os espaços de cores HDR só são permitidos com recursos de troca do formato **DXGI\_FORMAT\_R10G10B10A2\_UNORM**.

Com **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_P709**, espera-se que o conteúdo no swapbuffer use primárias 709 e que o intervalo de valores por canal esteja entre 0.0 e 1.0. No modo HDR, o intervalo de 0.0 a 1.0 é interpretado como entre 0 e 10.000 nits. Em outras palavras, um branco D65 de 10.000 nits é representado como (1.0, 1.0, 1.0). Da mesma forma, com **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_D65P3**, o intervalo de 0.0 a 1.0 é interpretado como entre 0 e 10.000 nits, e um branco D65 de 10.000 nits é (1.0, 1.0, 1.0). Espera-se que o swapbuffer contenha conteúdo criado com primárias de cor P3 e um ponto branco D65. Isso é diferente do espaço de cores DCI\_P3, em que o ponto branco não é D65. Com **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G10\_NONE\_P2020**, espera-se que o swapbuffer contenha primárias de cor 2020 com um ponto branco D65 e no intervalo entre 0.0 e 1.0, que é interpretado como entre 0 e 10.000 nits. Um branco D65 de 10.000 nits é (1.0, 1.0, 1.0).

O espaço de cores **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_P709** espera que o conteúdo do swapbuffer seja criado com primárias de cor Rec. 709 com um ponto branco D65, mas codificado com a curva PQ (ST.2084). O espaço de cores **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_D65P3** espera que o conteúdo do swapbuffer seja criado com primárias de cor P3 com um ponto branco D65, mas codificado com a curva PQ (ST.2084) e não com uma curva de potência 1.0/2.6 ou sRGB. Isso é diferente do DCI\_P3, que usa uma codificação e um ponto branco diferentes. O espaço de cores **DXGI\_COLOR\_SPACE\_RGB\_FULL\_G2084\_NONE\_P2020** espera que o conteúdo do swapbuffer seja criado com primárias de cor Rec. 2020 com um ponto branco D65 e codificado com uma curva PQ (ST.2084).

*ScaleFilter*
Tipo: [D3D12XBOX\_PRESENT\_PLANE\_SCALE\_FILTER](/pt-BR/reference/graphics/d3d12_x/enums/d3d12xbox_present_plane_scale_filter)

Filtro de escala preferencial a ser empregado ao fazer upsampling de uma origem de plano para um destino de exibição maior. O filtro fornecido é apenas uma solicitação e não há garantia de que será aplicado na saída. O filtro de escala é ignorado no XBOX Series X|S.

*ExtendedDescCount*
Tipo: UINT

Número de descrições de plano estendidas fornecidas na lista *pExtendedDescs*.

*pExtendedDescs*
Tipo: [D3D12XBOX\_PRESENT\_PLANE\_DESC](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_present_plane_desc)\*

Ponteiro opcional para o primeiro elemento de uma matriz de descrições de plano estendidas. Use o ponteiro para personalização adicional do plano usado na apresentação.

*Flags*
Tipo: [D3D12XBOX\_PRESENT\_PLANE\_FLAGS](/pt-BR/reference/graphics/d3d12_x/enums/d3d12xbox_present_plane_flags)

Um conjunto de sinalizadores usados para fornecer controle adicional sobre a composição e a exibição do plano.

## Comentários

Os títulos podem configurar dois planos de exibição que podem ser usados para compor automaticamente a interface do usuário/HUD sobre a cena. Nesse caso, a composição é feita pelo hardware de exibição sem custos extras de GPU, memória ou latência. Para obter mais informações sobre como configurar isso, consulte [Sobreposições de hardware e recursos de troca](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/graphics/directx/hardware-overlays.md)

## Requisitos

**Cabeçalho:** d3d12\_x.h

**Plataformas com suporte:** família XBOX One

## Confira também

[PresentX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_presentx)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Directorio de temas NDA: enlaces activos a Microsoft Learn](/es/nda/nda-topic-directory.md)
- [XGameStreamingVideoFlags](/reference/system/xgamestreaming/enums/xgamestreamingvideoflags.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
