Compartilhar via


Método ID3D11DeviceContext::OMSetBlendState (d3d11.h)

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

Sintaxe

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

Parâmetros

[in, optional] pBlendState

Tipo: ID3D11BlendState*

Ponteiro para uma interface de estado de mistura (consulte ID3D11BlendState). Passe NULL para um estado de combinação padrão. Para obter mais informações sobre o estado de combinação padrão, consulte Comentários.

[in, optional] BlendFactor

Tipo: const FLOAT[4]

Matriz de fatores de combinação, um para cada componente RGBA. Os fatores de mesclagem modulam valores para o sombreador de pixel, renderizam o destino ou ambos. Se você criou o objeto blend-state com D3D11_BLEND_BLEND_FACTOR ou D3D11_BLEND_INV_BLEND_FACTOR, o estágio de mesclagem usará a matriz não NULL de fatores de combinação. Se você não criou o objeto blend-state com D3D11_BLEND_BLEND_FACTOR ou D3D11_BLEND_INV_BLEND_FACTOR, o estágio de mesclagem não usa a matriz não NULL de fatores de mistura; O runtime armazena os fatores de combinação e, posteriormente, você pode chamar ID3D11DeviceContext::OMGetBlendState para recuperar os fatores de combinação. 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.

Retornar valor

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, renderizar o destino 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 mesclagem, chame ID3D11Device::CreateBlendState.

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

Estado Valor padrão
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]. BlendEnable FALSE
RenderTarget[0]. SrcBlend D3D11_BLEND_ONE
RenderTarget[0]. DestBlend D3D11_BLEND_ZERO
RenderTarget[0]. BlendOp D3D11_BLEND_OP_ADD
RenderTarget[0]. SrcBlendAlpha D3D11_BLEND_ONE
RenderTarget[0]. DestBlendAlpha D3D11_BLEND_ZERO
RenderTarget[0]. BlendOpAlpha D3D11_BLEND_OP_ADD
RenderTarget[0]. RenderTargetWriteMask D3D11_COLOR_WRITE_ENABLE_ALL
 

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 se o multisampling está habilitado e não depende se um aplicativo usa destinos de renderização de várias amostras.

O método conterá uma referência às interfaces passadas. Isso difere do comportamento do estado do dispositivo no Direct3D 10.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3D11.lib

Confira também

ID3D11DeviceContext