Condividi tramite


Salvataggio degli stati dei vertici con stateBlock (Direct3D 9)

È possibile usare un blocco di stato per acquisire solo lo stato dei vertici (vedere blocchi di stato Salva e ripristina stato (Direct3D 9)). Lo stato seguente è lo stato del vertice:

Per acquisire lo stato dei vertici con un blocco di stato, specificare D3DSBT_VERTEXSTATE quando si chiama IDirect3DDevice9::CreateStateBlock.

Pipeline dei vertici: stato di rendering

Gli stati di rendering del dispositivo influiscono sul comportamento di quasi tutte le parti della pipeline. Gli stati di rendering vengono impostati chiamando IDirect3DDevice9::SetRenderState.

La tabella seguente include tutti gli stati di rendering che configurano lo stato del vertice:

Stati di rendering Valore predefinito
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 VERO
D3DRS_LIGHTING VERO
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 Driver dipendente
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

 

Pipeline del vertice: stato del campionatore

Gli stati del campionatore controllano gli argomenti correlati al campionamento, ad esempio filtri, tiling e modalità di indirizzo delle coordinate della trama. Usare IDirect3DDevice9::SetSamplerState per configurare lo stato del campionatore (incluso quello utilizzato nell'unità di tessellazione per campionare le mappe di spostamento). Gli stati del campionatore sono stati rinominati con un prefisso "D3DSAMP_" per abilitare il rilevamento degli errori in fase di compilazione durante la conversione da DirectX 8.

La tabella seguente include tutti gli stati del campionatore che configurano lo stato del vertice:

Stati del campionatore Valore predefinito
D3DSAMP_DMAPOFFSET 256

 

Pipeline dei vertici: stato trama

Gli stati delle trame controllano le operazioni di fusione delle trame del frullatore a più trame. Usare IDirect3DDevice9::SetTextureStageState per configurare gli stati delle trame. Usare IDirect3DDevice9::SetTexture per associare una texture a una fase di campionamento.

La tabella seguente include tutti gli stati della trama che configurano lo stato del vertice:

Stati delle texture Valore predefinito
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

D3DTSS_TEXCOORDINDEX è uno stato di elaborazione dei vertici a funzione fissa. Se viene utilizzato un vertex shader programmabile, questo stato viene ignorato.

blocchi di stato Salvare e ripristinare lo stato