struktur D3DHAL_DP2RENDERSTATE (d3dhal.h)

Satu atau beberapa struktur D3DHAL_DP2RENDERSTATE diurai dari buffer perintah oleh panggilan balik D3dDrawPrimitives2 ketika anggota bCommand struktur D3DHAL_DP2COMMAND diatur ke D3DDP2OP_RENDERSTATE, dan digunakan untuk mengatur status render yang sesuai.

Sintaks

typedef struct _D3DHAL_DP2RENDERSTATE {
  D3DRENDERSTATETYPE RenderState;
  union {
    D3DVALUE dvState;
    DWORD    dwState;
  };
} D3DHAL_DP2RENDERSTATE;

Anggota

RenderState

Menentukan jenis enumerasi D3DRENDERSTATETYPE yang menunjukkan status render yang akan diperbarui. Status render yang diminta pada tingkat aplikasi dijelaskan dalam dokumentasi DirectX SDK. Merender status yang secara eksklusif digunakan oleh driver dijelaskan dalam D3DRENDERSTATETYPE.

dvState

Menentukan nilai yang harus diperbarui driver dengan status render yang diidentifikasi oleh anggota RenderState . Anggota ini valid ketika RenderState memerlukan D3DVALUE.

dwState

Menentukan nilai tempat driver harus memperbarui status render yang diidentifikasi oleh RenderState . Anggota ini valid ketika RenderState memerlukan DWORD.

Keterangan

D3dDrawPrimitives2 harus memproses struktur D3DHAL_DP2RENDERSTATE wStateCount dari buffer perintah. Nilai wStateCount ditentukan dalam struktur D3DHAL_DP2COMMAND.

Untuk setiap struktur D3DHAL_DP2RENDERSTATE, D3dDrawPrimitives2 harus memperbarui status render privat driver dan array status render yang ditunjuk oleh anggota lpdwRStatesD3DHAL_DRAWPRIMITIVES2DATA . Elemen yang akan diperbarui dalam array status render publik adalah lpdwRStates[RenderState].

Gambar berikut menunjukkan sebagian buffer perintah sampel yang berisi perintah D3DDP2OP_RENDERSTATE dan dua struktur D3DHAL_DP2RENDERSTATE. Driver harus memperbarui lpdwRStates[D3DRENDERSTATE_FILLMODE] menjadi D3DFILL_SOLID dan lpdwRStates[D3DRENDERSTATE_SHADEMODE] menjadi D3DSHADE_GOURAUD. Driver juga harus memperbarui status privatnya sesuai.

Gambar memperlihatkan buffer perintah dengan perintah D3DDP2OP_RENDERSTATE dan dua struktur D3DHAL_DP2RENDERSTATE Meskipun status render yang nilainya adalah Boolean dalam jenis didokumenkan sebagai hanya menerima TRUE(1) dan FALSE(0) runtime tidak memvalidasi ini dan menerima nilai subzero apa pun sebagai benar. Driver sampel menafsirkan ini secara ketat dan menginterpretasikan nilai selain 1 sebagai TRUE. Namun, karena runtime tidak menawarkan validasi, driver Anda harus menginterpretasikan 0 sebagai FALSE dan nilai subzero lainnya sebagai TRUE. Dalam hal ini driver Anda tidak boleh meniup perilaku driver sampel yang disediakan.

Persyaratan

Persyaratan Nilai
Header d3dhal.h (termasuk D3dhal.h)

Lihat juga

D3DDP2OP_RENDERSTATE

D3DHAL_DP2COMMAND

D3DHAL_DRAWPRIMITIVES2DATA

D3DRENDERSTATETYPE

D3dDrawPrimitives2