Bagikan melalui


Menyimpan Status Vertex Dengan StateBlock (Direct3D 9)

Blok status hanya dapat digunakan untuk mengambil status puncak (lihat Status Simpan dan Pulihkan Status Blok Status (Direct3D 9)). Status berikut adalah status puncak:

Untuk menangkap status vertex dengan blok status, tentukan D3DSBT_VERTEXSTATE saat memanggil IDirect3DDevice9::CreateStateBlock.

Pipeline Vertex: Keadaan Render

Status render perangkat memengaruhi perilaku hampir setiap bagian dari alur. Status render diatur dengan memanggil IDirect3DDevice9::SetRenderState.

Tabel berikut menyertakan semua status render yang menetapkan status vertex.

Keadaan Perenderan Nilai Bawaan
D3DRS_CULLMODE D3DCULL_CCW
D3DRS_FOGCOLOR 0
D3DRS_FOGTABLEMODE D3DFOG_NONE
D3DRS_FOGSTART 0
D3DRS_FOGEND 1
D3DRS_FOGDENSITY 1
D3DRS_RANGEFOGENABLE FALSE
D3DRS_AMBIENT 0
D3DRS_COLORVERTEX BENAR
D3DRS_FOGVERTEXMODE D3DFOG_NONE
D3DRS_CLIPPING BENAR
D3DRS_LIGHTING BENAR
D3DRS_LOCALVIEWER TRUE
D3DRS_EMISSIVEMATERIALSOURCE D3DMCS_MATERIAL
D3DRS_AMBIENTMATERIALSOURCE D3DMCS_MATERIAL
D3DRS_DIFFUSEMATERIALSOURCE D3DMCS_COLOR1
D3DRS_SPECULARMATERIALSOURCE D3DMCS_COLOR2
D3DRS_VERTEXBLEND D3DVBF_DISABLE
D3DRS_CLIPPLANEENABLE 0
D3DRS_POINTSIZE Bergantung pada driver
D3DRS_POINTSIZE_MIN 1
D3DRS_POINTSPRITEENABLE FALSE
D3DRS_POINTSCALEENABLE FALSE
D3DRS_POINTSCALE_A 1
D3DRS_POINTSCALE_B 0
D3DRS_POINTSCALE_C 0
D3DRS_MULTISAMPLEANTIALIAS BENAR
D3DRS_MULTISAMPLEMASK 0xffffffff
D3DRS_PATCHEDGESTYLE D3DPATCHEDGE_DISCRETE
D3DRS_POINTSIZE_MAX 1
D3DRS_INDEXEDVERTEXBLENDENABLE FALSE
D3DRS_TWEENFACTOR 0
D3DRS_POSITIONDEGREE D3DDEGREE_CUBIC
D3DRS_NORMALDEGREE D3DDEGREE_LINEAR
D3DRS_MINTESSELLATIONLEVEL 1
D3DRS_MAXTESSELLATIONLEVEL 1
D3DRS_ADAPTIVETESS_X 0
D3DRS_ADAPTIVETESS_Y 0
D3DRS_ADAPTIVETESS_Z 1
D3DRS_ADAPTIVETESS_W 0
D3DRS_ENABLEADAPTIVETESSELLATION"/> FALSE

 

Jalur Vertex: Keadaan Sampler

Keadaan sampel mengontrol topik terkait pengambilan sampel seperti pemfilteran, pengubinan, dan mode alamat koordinat tekstur. Gunakan IDirect3DDevice9::SetSamplerState untuk menyiapkan status sampler (termasuk yang digunakan di unit tesselator untuk mengambil sampel peta perpindahan). Status sampler telah diganti namanya dengan awalan "D3DSAMP_" untuk mengaktifkan deteksi kesalahan waktu kompilasi saat porting dari DirectX 8.

Tabel berikut ini mencakup semua status sampler yang menyiapkan status vertex:

Keadaan Sampler Nilai Bawaan
D3DSAMP_DMAPOFFSET 256

 

Jalur Vertex: Status Tekstur

Status tekstur mengontrol operasi perpaduan tekstur dari blender multi-tekstur. Gunakan IDirect3DDevice9::SetTextureStageState untuk menyiapkan status tekstur. Gunakan IDirect3DDevice9::SetTexture untuk mengaitkan tekstur dengan tahap sampler.

Tabel berikut ini menyertakan semua status tekstur yang menyiapkan status puncak:

Status Tekstur Nilai Bawaan
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

D3DTSS_TEXCOORDINDEX adalah status pemrosesan verteks fungsi tetap. Jika shader vertex yang dapat diprogram digunakan, status ini diabaikan.

Status Blok Simpan dan Pulihkan status