Condividi tramite


Metodo ID3D10Device::OMSetBlendState (d3d10.h)

Impostare lo stato di fusione della fase di fusione dell'output.

Sintassi

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

Parametri

[in] pBlendState

Tipo: ID3D10BlendState*

Puntatore a un'interfaccia di stato blend (vedere ID3D10BlendState). Il passaggio di NULL implica uno stato di fusione predefinito. Per altri dettagli, vedere le osservazioni.

[in] BlendFactor

Tipo: const FLOAT

Matrice di fattori di fusione, uno per ogni componente RGBA. I fattori di fusione modulano i valori per il pixel shader, la destinazione di rendering o entrambi. Se è stato creato l'oggetto stato blend con D3D10_BLEND_BLEND_FACTOR o D3D10_BLEND_INV_BLEND_FACTOR, la fase di fusione utilizza la matrice non NULL di fattori di fusione. Se non è stato creato l'oggetto stato blend con D3D10_BLEND_BLEND_FACTOR o D3D10_BLEND_INV_BLEND_FACTOR, la fase di fusione non utilizza la matrice non NULL di fattori di fusione; il runtime archivia i fattori di fusione ed è possibile chiamare in seguito ID3D11DeviceContext::OMGetBlendState per recuperare i fattori di fusione. Se si passa NULL, il runtime usa o archivia un fattore di fusione uguale a { 1, 1, 1, 1 }.

[in] SampleMask

Tipo: UINT

Copertura di esempio a 32 bit. Il valore predefinito è 0xffffffff. Vedere la sezione Osservazioni.

Valore restituito

nessuno

Osservazioni

Lo stato blend viene usato dalla fase di fusione dell'output per determinare come combinare due valori di pixel RGB e due valori alfa. I due valori pixel RGB e due valori alfa sono il valore del pixel RGB e il valore alfa restituiti dal pixel shader e dal valore rgb pixel e dal valore alfa già nella destinazione di rendering dell'output. L'opzione blend controlla l'origine dati usata dalla fase di fusione per modulare i valori per il pixel shader, la destinazione di rendering o entrambi. L'operazione di fusione controlla il modo in cui la fase di fusione combina matematicamente questi valori modulati.

Per creare un'interfaccia di stato blend, chiamare ID3D10Device::CreateBlendState.

Il passaggio di NULL per l'interfaccia dello stato blend indica al runtime di impostare uno stato di fusione predefinito. La tabella seguente indica i parametri di fusione predefiniti.

State Valore predefinito
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]
 

Una maschera di esempio determina quali esempi vengono aggiornati in tutte le destinazioni di rendering attive. Il mapping dei bit in una maschera di esempio ai campioni in una destinazione di rendering multisample è responsabilità di una singola applicazione. Viene sempre applicata una maschera di esempio; indipendentemente dal fatto che il multicampionamento sia abilitato e non dipende dal fatto che un'applicazione usi destinazioni di rendering multisample.

Il metodo non conterrà un riferimento alle interfacce passate. Per questo motivo, le applicazioni devono prestare attenzione a non rilasciare un'interfaccia attualmente in uso dal dispositivo.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d10.h
Libreria D3D10.lib

Vedi anche

Interfaccia ID3D10Device