METODE ID3D11DeviceContext::OMSetBlendState (d3d11.h)
Atur status campuran tahap output-merger.
Sintaks
void OMSetBlendState(
[in, optional] ID3D11BlendState *pBlendState,
[in, optional] const FLOAT [4] BlendFactor,
[in] UINT SampleMask
);
Parameter
[in, optional] pBlendState
Jenis: ID3D11BlendState*
Penunjuk ke antarmuka status campuran (lihat ID3D11BlendState). Teruskan NULL untuk status campuran default. Untuk informasi selengkapnya tentang status campuran default, lihat Keterangan.
[in, optional] BlendFactor
Jenis: const FLOAT[4]
Array faktor campuran, satu untuk setiap komponen RGBA. Faktor campuran memodulasi nilai untuk shader piksel, merender target, atau keduanya. Jika Anda membuat objek blend-state dengan D3D11_BLEND_BLEND_FACTOR atau D3D11_BLEND_INV_BLEND_FACTOR, tahap blending menggunakan array non-NULL faktor campuran. Jika Anda tidak membuat objek blend-state dengan D3D11_BLEND_BLEND_FACTOR atau D3D11_BLEND_INV_BLEND_FACTOR, tahap perpaduan tidak menggunakan array faktor campuran non-NULL; 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 komentar.
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 oleh shader piksel dan nilai piksel RGB dan nilai alfa yang sudah ada di target render output. Opsi campuran mengontrol sumber data yang digunakan tahap penpaduan untuk memodulasi nilai untuk shader piksel, merender target, atau keduanya. Operasi campuran mengontrol bagaimana tahap perpaduan secara matematis menggabungkan nilai modulasi ini.
Untuk membuat antarmuka blend-state, panggil ID3D11Device::CreateBlendState.
Meneruskan NULL untuk antarmuka status campuran menunjukkan ke runtime untuk mengatur status penpaduan default. Tabel berikut menunjukkan parameter penpaduan default.
Provinsi | Nilai Default |
---|---|
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 |
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 akan menyimpan referensi ke antarmuka yang diteruskan. Ini berbeda dari perilaku status perangkat di Direct3D 10.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d11.h |
Pustaka | D3D11.lib |