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 |