Bagikan melalui


METODE ID3D10Device::OMSetBlendState (d3d10.h)

Atur status campuran tahap output-merger.

Sintaks

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

Parameter

[in] pBlendState

Jenis: ID3D10BlendState*

Penunjuk ke antarmuka status campuran (lihat ID3D10BlendState). Meneruskan NULL menyiratkan status campuran default. Lihat keterangan untuk detail lebih lanjut.

[in] BlendFactor

Jenis: const FLOAT

Array faktor campuran, satu untuk setiap komponen RGBA. Faktor campuran memodulasi nilai untuk shader piksel, target render, atau keduanya. Jika Anda membuat objek blend-state dengan D3D10_BLEND_BLEND_FACTOR atau D3D10_BLEND_INV_BLEND_FACTOR, tahap blending menggunakan array faktor campuran non-NULL. Jika Anda tidak membuat objek blend-state dengan D3D10_BLEND_BLEND_FACTOR atau D3D10_BLEND_INV_BLEND_FACTOR, tahap blending tidak menggunakan array non-NULL faktor campuran; runtime menyimpan faktor campuran, dan Anda nantinya dapat memanggil ID3D11DeviceContext::OMGetBlendState untuk mengambil faktor campuran. Jika Anda melewati NULL, runtime menggunakan atau menyimpan faktor campuran yang sama dengan { 1, 1, 1, 1 }.

[in] SampleMask

Jenis: UINT

Cakupan sampel 32-bit. Nilai defaultnya adalah 0xffffffff. Lihat keterangan.

Menampilkan nilai

Tidak ada

Keterangan

Status campuran digunakan oleh tahap output-merger untuk menentukan cara menyatukan dua nilai piksel RGB dan dua nilai alfa. Dua nilai piksel RGB dan dua nilai alfa adalah nilai piksel RGB dan nilai alfa yang dihasilkan shader piksel dan nilai piksel RGB dan nilai alfa yang sudah ada di target render output. Opsi campuran mengontrol sumber data yang digunakan tahap campuran untuk memodulasi nilai untuk shader piksel, merender target, atau keduanya. Operasi campuran mengontrol bagaimana tahap penpaduan secara matematis menggabungkan nilai modulasi ini.

Untuk membuat antarmuka blend-state, panggil ID3D10Device::CreateBlendState.

Meneruskan NULL untuk antarmuka blend-state menunjukkan ke runtime untuk mengatur status blending default. Tabel berikut menunjukkan parameter blending default.

Provinsi Nilai Default
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]
 

Masker sampel menentukan sampel mana yang diperbarui di semua target render aktif. Pemetaan bit dalam masker sampel ke sampel dalam target render multisample adalah tanggung jawab aplikasi individu. Masker sampel selalu diterapkan; tidak bergantung pada apakah multisampling diaktifkan, dan tidak bergantung pada apakah aplikasi menggunakan target render multisample.

Metode ini tidak akan menyimpan referensi ke antarmuka yang diteruskan. Untuk alasan itu, aplikasi harus berhati-hati untuk tidak merilis antarmuka yang saat ini digunakan oleh perangkat.

Persyaratan

   
Target Platform Windows
Header d3d10.h
Pustaka D3D10.lib

Lihat juga

ID3D10Device Interface