Bagikan melalui


Struktur D3DCLIPSTATUS9

Menjelaskan status klip saat ini.

Sintaks

typedef struct D3DCLIPSTATUS9 {
  DWORD ClipUnion;
  DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;

Anggota

ClipUnion

Jenis: DWORD

Bendera clip union yang menjelaskan status klip saat ini. Anggota ini bisa menjadi satu atau beberapa bendera berikut:

Nilai Makna
D3DCS_ALL
Kombinasi semua bendera klip.
D3DCS_LEFT
Semua simpul dipotong oleh bidang kiri frustum tampilan.
D3DCS_RIGHT
Semua simpul dipotong oleh bidang yang tepat dari frustum tampilan.
D3DCS_TOP
Semua simpul dipotong oleh bidang atas frustum tampilan.
D3DCS_BOTTOM
Semua simpul dipotong oleh bidang bawah frustum tampilan.
D3DCS_FRONT
Semua simpul dipotong oleh bidang depan frustum tampilan.
D3DCS_BACK
Semua simpul dipotong oleh bidang belakang frustum tampilan.
D3DCS_PLANE0
Bidang kliping yang ditentukan aplikasi.
D3DCS_PLANE1
Bidang kliping yang ditentukan aplikasi.
D3DCS_PLANE2
Bidang kliping yang ditentukan aplikasi.
D3DCS_PLANE3
Bidang kliping yang ditentukan aplikasi.
D3DCS_PLANE4
Bidang kliping yang ditentukan aplikasi.
D3DCS_PLANE5
Bidang kliping yang ditentukan aplikasi.

 

ClipIntersection

Jenis: DWORD

Bendera persimpangan klip yang menjelaskan status klip saat ini. Anggota ini dapat mengambil bendera yang sama dengan ClipUnion.

Keterangan

Saat kliping diaktifkan selama pemrosesan puncak (oleh ProcessVertices, DrawPrimitive, atau fungsi gambar lainnya), Direct3D menghitung kode klip untuk setiap puncak. Kode klip adalah kombinasi dari bit D3DCS_*. Ketika puncak 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 bitwise ATAU dari semua kode klip vertex dan ClipIntersection adalah BITWISE AND 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 DrawRectPatch dan DrawTriPatch karena tidak ada emulasi perangkat lunak untuk mereka.

Persyaratan

Persyaratan Nilai
Header
D3D9Types.h

Lihat juga

Struktur Direct3D

GetClipStatus

SetClipStatus