Metode IDirect3DDevice9::SetClipStatus (d3d9.h)
Mengatur status klip.
Sintaks
HRESULT SetClipStatus(
[in] const D3DCLIPSTATUS9 *pClipStatus
);
Parameter
[in] pClipStatus
Jenis: const D3DCLIPSTATUS9*
Penunjuk ke struktur D3DCLIPSTATUS9 , yang menjelaskan pengaturan status klip yang akan diatur.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika salah satu argumen tidak valid, nilai yang dikembalikan D3DERR_INVALIDCALL.
Keterangan
Status klip digunakan selama pemrosesan puncak perangkat lunak. Oleh karena itu, metode ini tidak didukung pada perangkat pemrosesan perangkat keras murni atau nonpure. Untuk informasi selengkapnya tentang perangkat murni, lihat D3DCREATE.
Saat kliping diaktifkan selama pemrosesan vertex (oleh IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive, atau fungsi gambar lainnya), Direct3D menghitung kode klip untuk setiap vertex. Kode klip adalah kombinasi dari bit D3DCS_*. Ketika vertex berada di luar bidang kliping tertentu, bit yang sesuai diatur dalam kode kliping. Direct3D mempertahankan status klip menggunakan D3DCLIPSTATUS9, yang memiliki anggota ClipUnion dan ClipIntersection. ClipUnion adalah "OR" bitwise dari semua kode klip vertex dan ClipIntersection adalah "AND" bitwise dari semua kode klip vertex. Nilai awal adalah nol untuk ClipUnion dan 0xFFFFFFFF untuk ClipIntersection. Saat D3DRS_CLIPPING diatur ke FALSE, ClipUnion dan ClipIntersection diatur ke nol. Direct3D memperbarui status klip selama panggilan gambar. Untuk menghitung status klip untuk objek tertentu, atur ClipUnion dan ClipIntersection ke nilai awalnya dan lanjutkan menggambar.
Status klip tidak diperbarui oleh IDirect3DDevice9::D rawRectPatch dan IDirect3DDevice9::D rawTriPatch karena tidak ada emulasi perangkat lunak untuk mereka.
Persyaratan
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |