Share via


Método ID3D10Device::OMSetRenderTargets (d3d10.h)

Associe um ou mais destinos de renderização e o buffer de estêncil de profundidade ao estágio de fusão de saída.

Sintaxe

void OMSetRenderTargets(
  [in] UINT                   NumViews,
  [in] ID3D10RenderTargetView * const *ppRenderTargetViews,
  [in] ID3D10DepthStencilView *pDepthStencilView
);

Parâmetros

[in] NumViews

Tipo: UINT

Número de destinos de renderização a serem associados.

[in] ppRenderTargetViews

Tipo: ID3D10RenderTargetView*

Ponteiro para uma matriz de destinos de renderização (consulte ID3D10RenderTargetView) para associar ao dispositivo. Se esse parâmetro for NULL, nenhum destino de renderização será associado. Consulte Observações.

[in] pDepthStencilView

Tipo: ID3D10DepthStencilView*

Ponteiro para uma exibição de estêncil de profundidade (consulte ID3D10DepthStencilView) para associar ao dispositivo. Se esse parâmetro for NULL, o estado de estêncil de profundidade não será associado.

Retornar valor

Nenhum

Comentários

Uma chamada para OMSetRenderTargets substitui todos os destinos de renderização limitados e o destino de estêncil de profundidade, independentemente do número de destinos de renderização em ppRenderTargetViews.

O número máximo de destinos de renderização que um dispositivo pode ter ativo a qualquer momento é definido por um #define em D3D10.h chamado D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT. É inválido tentar definir o mesmo sub-recurso para vários slots de destino de renderização.

Se algum sub-recurso também estiver associado à leitura ou gravação (talvez em uma parte diferente do pipeline), esses pontos de associação serão nulos para impedir que o mesmo sub-recurso seja lido e gravado simultaneamente em uma única operação de renderização.

O método não conterá referências às interfaces passadas. Por esse motivo, os aplicativos devem ter cuidado para não liberar interfaces atualmente em uso pelo dispositivo.

Confira Recursos de associação e estágios de pipeline para obter mais informações sobre recursos de associação.

O sombreador de pixel deve ser capaz de renderizar simultaneamente para pelo menos oito destinos de renderização separados. Todos esses destinos de renderização devem acessar o mesmo tipo de recurso: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D ou TextureCube. Todos os destinos de renderização devem ter o mesmo tamanho em todas as dimensões (largura e altura e profundidade para 3D ou tamanho da matriz para *Tipos de matriz). Se os destinos de renderização usarem o anti-aliasing de várias amostras, todos os destinos de renderização associados e o buffer de profundidade deverão ser a mesma forma de recurso de várias amostras (ou seja, as contagens de exemplo devem ser as mesmas). Cada destino de renderização pode ter um formato de dados diferente. Esses formatos de destino de renderização não são necessários para ter contagens idênticas de bit por elemento.

Qualquer combinação dos oito slots para destinos de renderização pode ter um conjunto de destino de renderização ou não definido.

A mesma exibição de recurso não pode ser associada a vários slots de destino de renderização simultaneamente. No entanto, você pode definir várias exibições de recursos não sobrepostas de um único recurso como destinos de renderização simultâneos.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d10.h
Biblioteca D3D10.lib

Confira também

ID3D10Device Interface