Compartilhar via


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

Defina o estado de mesclagem do estágio de fusão de saída.

Sintaxe

void OMSetBlendState(
  [in] ID3D10BlendState *pBlendState,
  [in] const FLOAT [4]  BlendFactor,
  [in] UINT             SampleMask
);

Parâmetros

[in] pBlendState

Tipo: ID3D10BlendState*

Ponteiro para uma interface de estado de combinação (consulte ID3D10BlendState). Passar NULL implica um estado de combinação padrão. Confira os comentários para obter mais detalhes.

[in] BlendFactor

Tipo: const FLOAT

Matriz de fatores de mesclagem, um para cada componente RGBA. Os fatores de mesclagem modulam valores para o sombreador de pixel, o destino de renderização ou ambos. Se você criou o objeto de estado de combinação com D3D10_BLEND_BLEND_FACTOR ou D3D10_BLEND_INV_BLEND_FACTOR, o estágio de mesclagem usará a matriz não NULL de fatores de mesclagem. Se você não criou o objeto blend-state com D3D10_BLEND_BLEND_FACTOR ou D3D10_BLEND_INV_BLEND_FACTOR, o estágio de mesclagem não usará a matriz não NULL de fatores de mesclagem; o runtime armazena os fatores de mesclagem e, posteriormente, você pode chamar ID3D11DeviceContext::OMGetBlendState para recuperar os fatores de mesclagem. Se você passar NULL, o runtime usará ou armazenará um fator de combinação igual a { 1, 1, 1, 1 }.

[in] SampleMask

Tipo: UINT

Cobertura de exemplo de 32 bits. O valor padrão é 0xffffffff. Consulte Observações.

Valor retornado

Nenhum

Comentários

O estado blend é usado pelo estágio de fusão de saída para determinar como combinar dois valores de pixel RGB e dois valores alfa. Os dois valores de pixel RGB e dois valores alfa são o valor de pixel RGB e o valor alfa que o sombreador de pixel gera e o valor de pixel RGB e o valor alfa já no destino de renderização de saída. A opção blend controla a fonte de dados que o estágio de mesclagem usa para modular valores para o sombreador de pixel, destino de renderização ou ambos. A operação de mesclagem controla como o estágio de mesclagem combina matematicamente esses valores modulados.

Para criar uma interface de estado de combinação, chame ID3D10Device::CreateBlendState.

Passar NULL para a interface de estado de combinação indica para o runtime definir um estado de mesclagem padrão. A tabela a seguir indica os parâmetros de mesclagem padrão.

Estado Valor padrão
AlphaToCoverageEnable FALSE
BlendEnable FALSE[8]
SrcBlend D3D10_BLEND_ONE
DstBlend D3D10_BLEND_ZERO
BlendOp D3D10_BLEND_OP_ADD
SrcBlendAlpha D3D10_BLEND_ONE
DstBlendAlpha D3D10_BLEND_ZERO
BlendOpAlpha D3D10_BLEND_OP_ADD
RenderTargetWriteMask[8] D3D10_COLOR_WRITE_ENABLE_ALL[8]
 

Uma máscara de exemplo determina quais exemplos são atualizados em todos os destinos de renderização ativos. O mapeamento de bits em uma máscara de exemplo para exemplos em um destino de renderização de várias amostras é responsabilidade de um aplicativo individual. Uma máscara de exemplo é sempre aplicada; ele é independente de se o multisampling está habilitado e não depende se um aplicativo usa destinos de renderização de várias amostras.

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

Requisitos

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

Confira também

ID3D10Device Interface