Bagikan melalui


Status Penpaduan Alfa (Direct3D 9)

Nilai alfa warna mengontrol transparansinya. Mengaktifkan penpaduan alfa memungkinkan warna, bahan, dan tekstur pada permukaan dipadukan dengan transparansi ke permukaan lain.

Untuk informasi selengkapnya, lihat Alpha Texture Blending (Direct3D 9) dan Texture Blending (Direct3D 9).

Aplikasi yang ditulis dalam C++ menggunakan status render D3DRS_ALPHABLENDENABLE untuk mengaktifkan pencicipan transparansi alfa. API Direct3D memungkinkan banyak jenis penpaduan alfa. Namun, penting untuk dicatat bahwa perangkat keras 3D pengguna mungkin tidak mendukung semua status blending yang diizinkan oleh Direct3D.

Jenis penpaduan alfa yang dilakukan tergantung pada status render D3DRS_SRCBLEND Dan D3DRS_DESTBLEND . Status campuran sumber dan tujuan digunakan berpasangan. Contoh kode berikut menunjukkan bagaimana status campuran sumber diatur ke D3DBLEND_SRCCOLOR dan status campuran tujuan diatur ke D3DBLEND_INVSRCCOLOR.

// This code example assumes that d3dDevice is a
// valid pointer to an IDirect3DDevice9 interface.

// Set the source blend state.
d3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);

// Set the destination blend state.

d3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

Mengubah status campuran sumber dan tujuan dapat memberikan tampilan objek emissif dalam suasana berkabut atau berdebu. Misalnya, jika aplikasi Anda memodelkan api, memaksa bidang, sinar plasma, atau objek bercahaya serupa di lingkungan berkabut, atur status campuran sumber dan tujuan ke D3DBLEND_ONE.

Aplikasi lain dari alpha blending adalah mengontrol pencahayaan dalam adegan 3D, juga disebut pemetaan cahaya. Mengatur status campuran sumber ke D3DBLEND_ZERO dan status campuran tujuan ke D3DBLEND_SRCALPHA menggelapkan adegan sesuai dengan informasi alfa sumber. Primitif sumber digunakan sebagai peta cahaya yang menskalakan konten buffer bingkai untuk menggelapkannya jika sesuai. Ini menghasilkan pemetaan cahaya monokrom.

Anda dapat mencapai pemetaan cahaya warna dengan mengatur status campuran alfa sumber ke D3DBLEND_ZERO dan status campuran tujuan ke D3DBLEND_SRCCOLOR.

Status Render