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 |