PFND3DDDI_CLEAR fungsi panggilan balik (d3dumddi.h)
Fungsi Clear melakukan penghapusan yang dibantu perangkat keras pada target penyajian, buffer kedalaman, atau buffer stensil.
Sintaks
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Parameter
[in] hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDIARG_CLEAR yang menjelaskan parameter operasi kliring yang dibantu perangkat keras.
unnamedParam3
NumRect [in]
Jumlah persegi panjang dalam array di pRect yang akan dibersihkan. Jika jumlah persegi panjang diatur ke nol, Hapus harus menghapus seluruh target render, buffer kedalaman, dan buffer stensil. Dalam situasi ini, konten array di pRect tidak terdefinisi dan driver tidak boleh mencoba membacanya.
unnamedParam4
pRect [in]
Array struktur RECT yang menunjukkan area persegi panjang buffer yang harus dibersihkan driver.
Menampilkan nilai
Clear mengembalikan S_OK atau hasil kesalahan yang sesuai jika operasi penghapusan yang dibantu perangkat keras tidak berhasil dilakukan.
Keterangan
Bagaimana driver melakukan operasi yang jelas tergantung pada jumlah area persegi panjang yang ditentukan dalam parameter NumRect dan nilai yang diatur dalam anggota BenderaD3DDDIARG_CLEAR. Nilai D3DCLEAR_TARGET, D3DCLEAR_STENCIL, dan D3DCLEAR_ZBUFFER (ditentukan dalam D3d8types.h) menunjukkan jenis buffer yang akan dihapus. Nilai D3DCLEAR_COMPUTERECTS (ditentukan dalam D3dhal.h) menunjukkan cara menghapus buffer. Pengaturan berikut menunjukkan bagaimana driver harus menghapus jenis buffer yang ditentukan:
- Jika NumRect diatur ke 0 (NumRect== 0) dan D3DCLEAR_COMPUTERECTS tidak diatur dalam Bendera, driver menghapus 0 piksel (yaitu, tanpa operasi).
- Jika NumRect diatur ke 0 dan D3DCLEAR_COMPUTERECTS diatur dalam Bendera, driver akan menghapus seluruh viewport (bukan seluruh permukaan).
- Jika NumRect diatur ke nilai yang lebih besar dari 0 (NumRect!= 0) dan D3DCLEAR_COMPUTERECTS diatur dalam Bendera, driver akan mengklip area persegi yang ditentukan pRect terhadap viewport saat ini.
Jika NumRect diatur ke nilai yang lebih besar dari 0 (NumRect> 0) dan D3DCLEAR_COMPUTERECTS diatur dalam Bendera, driver akan mengklip area persegi panjang yang ditentukan ke viewport saat ini, dan ke persegi panjang gunting jika aplikasi sebelumnya diatur D3DRS_SCISSORTESTENABLE. Jika NumRect> 0 dan D3DCLEAR_COMPUTERECTS tidak diatur, driver menentukan bahwa runtime Direct3D sudah mengklip area persegi panjang yang ditentukan ke viewport saat ini, dan ke persegi panjang gunting jika aplikasi sebelumnya mengatur D3DRS_SCISSORTESTENABLE.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |