Compartir a través de


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

Establezca el estado de mezcla de la fase de fusión de salida.

Sintaxis

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

Parámetros

[in, optional] pBlendState

Tipo: ID3D11BlendState*

Puntero a una interfaz de estado de mezcla (consulte ID3D11BlendState). Pase NULL para un estado de combinación predeterminado. Para obtener más información sobre el estado de mezcla predeterminado, consulta Comentarios.

[in, optional] BlendFactor

Tipo: const FLOAT[4]

Matriz de factores de mezcla, uno para cada componente RGBA. Los factores de mezcla modulan los valores del sombreador de píxeles, el destino de representación o ambos. Si ha creado el objeto blend-state con D3D11_BLEND_BLEND_FACTOR o D3D11_BLEND_INV_BLEND_FACTOR, la fase de mezcla usa la matriz que no es NULL de factores de mezcla. Si no creó el objeto blend-state con D3D11_BLEND_BLEND_FACTOR o D3D11_BLEND_INV_BLEND_FACTOR, la fase de mezcla no usa la matriz no NULL de factores de mezcla; el tiempo de ejecución almacena los factores de mezcla y, posteriormente, puede llamar a ID3D11DeviceContext::OMGetBlendState para recuperar los factores de mezcla. Si pasa NULL, el tiempo de ejecución usa o almacena un factor de mezcla igual a { 1, 1, 1, 1 }.

[in] SampleMask

Tipo: UINT

Cobertura de ejemplo de 32 bits. El valor predeterminado es 0xffffffff. Vea Notas.

Valor devuelto

None

Observaciones

La fase de fusión de salida usa el estado de mezcla para determinar cómo combinar dos valores de píxelES RGB y dos valores alfa. Los dos valores de píxelES RGB y dos valores alfa son el valor de píxel RGB y el valor alfa que el sombreador de píxeles genera y el valor de píxel RGB y el valor alfa ya en el destino de representación de salida. La opción blend controla el origen de datos que la fase de fusión usa para modular los valores del sombreador de píxeles, el destino de representación o ambos. La operación de mezcla controla cómo la fase de mezcla combina matemáticamente estos valores modulados.

Para crear una interfaz de estado de mezcla, llame a ID3D11Device::CreateBlendState.

Pasar NULL para la interfaz de estado de mezcla indica al tiempo de ejecución para establecer un estado de combinación predeterminado. En la tabla siguiente se indican los parámetros de combinación predeterminados.

State Valor predeterminado
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
 

Una máscara de ejemplo determina qué muestras se actualizan en todos los destinos de representación activos. La asignación de bits en una máscara de ejemplo a muestras en un destino de representación de varias muestras es responsabilidad de una aplicación individual. Siempre se aplica una máscara de ejemplo; es independiente de si el muestreo múltiple está habilitado y no depende de si una aplicación usa destinos de representación de varias muestras.

El método contendrá una referencia a las interfaces pasadas. Esto difiere del comportamiento del estado del dispositivo en Direct3D 10.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d11.h
Library D3D11.lib

Consulte también

ID3D11DeviceContext