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 |