Share via


estrutura D3D12_VIEW_INSTANCING_DESC (d3d12.h)

Especifica os parâmetros usados durante a configuração de instanciação de exibição.

Sintaxe

typedef struct D3D12_VIEW_INSTANCING_DESC {
  UINT                               ViewInstanceCount;
  const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
  D3D12_VIEW_INSTANCING_FLAGS        Flags;
} D3D12_VIEW_INSTANCING_DESC;

Membros

ViewInstanceCount

Especifica o número de exibições a serem usadas até D3D12_MAX_VIEW_INSTANCE_COUNT.

pViewInstanceLocations

O endereço de um local de memória que contém as estruturas de localização da instância de exibição ViewInstanceCount que especificam o local do visor/tesoura e renderizam os detalhes de destino de cada instância de exibição.

Flags

Configura a instanciação de exibição com opções adicionais.

Comentários

A instanciação de exibição é declarada em um PSO usando essa estrutura. A contagem de instâncias de exibição é definida no PSO para permitir a otimização de pipeline inteiro com base no número de exibições.

A instanciação de exibição é desabilitada quando não é declarada no PSO ou quando ViewInstanceCount é definido como 0. Quando desabilitada, a renderização se comporta como se a instanciação de exibição estivesse habilitada e ViewInstanceCount estivesse definida como 1; os sombreadores veem apenas um valor de 0 em SV_ViewID e apenas uma instância de exibição é produzida. Isso permite que sombreadores que estejam cientes da instanciação de exibição ainda sejam usados em PSOs que o desabilitam. Alguns adaptadores podem dar suporte ao modelo de sombreador 6.1 (que expõe SV_ViewID), mas não à instanciação de exibição; esses adaptadores ainda devem dar suporte a sombreadores que insiram SV_ViewID em PSOs que declaram ViewInstanceCount como 0 ou 1.

O sombreador antes da rasterização pode gerar SV_RenderTargetArrayIndex e SV_ViewportArrayIndex valores que não precisam depender de SV_ViewID. Para calcular o índice efetivo final do visor e renderizar o destino para onde os primitivos serão enviados, esses valores, quando presentes, são adicionados aos valores ViewportArrayIndex e RenderTargetArrayIndex dos locais de instância de exibição declarados no PSO. Se um índice computado estiver fora do intervalo (ou seja, quando o índice for maior que o número de elementos de destino de exibição ou renderização em suas respectivas matrizes), o índice efetivo se tornará 0.

Para sombreadores que selecionam dinamicamente o visor ou renderizam índices de destino, um aplicativo pode definir todos os locais de instância de exibição declarados no PSO como um único valor (como 0) para atuar como um índice base uniforme ao qual os valores de SV_RenderTargetArrayIndex e SV_ViewportArrayIndex selecionados dinamicamente são adicionados.

Requisitos

Requisito Valor
Cabeçalho d3d12.h

Confira também

Estruturas principais