Bagikan melalui


Menyimpan Status Vertex Dengan StateBlock (Direct3D 9)

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

Untuk mengambil status puncak dengan blok status, tentukan D3DSBT_VERTEXSTATE saat memanggil IDirect3DDevice9::CreateStateBlock.

Alur Vertex: Status Render

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

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

Status Render Nilai Default
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 TRUE
D3DRS_FOGVERTEXMODE D3DFOG_NONE
D3DRS_CLIPPING TRUE
D3DRS_LIGHTING TRUE
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 Dependen 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 TRUE
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

 

Alur Vertex: Status Sampler

Status sampler mengontrol pengambilan sampel topik terkait seperti pemfilteran, pemetaan, dan mode alamat koordinat tekstur. Gunakan IDirect3DDevice9::SetSamplerState untuk menyiapkan status sampler (termasuk yang digunakan di unit tessellator 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 menyertakan semua status sampler yang menyiapkan status puncak:

Status Sampler Nilai Default
D3DSAMP_DMAPOFFSET 256

 

Alur 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 Default
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

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

Status Simpan dan Pulihkan Blok Status