Dela via


Spara vertex-tillstånd med en StateBlock (Direct3D 9)

Ett tillståndsblock kan användas för att endast infånga hörntillstånd (se Tillståndsblock Spara och återställ tillstånd (Direct3D 9)). Följande tillstånd är hörntillstånd:

För att fånga vertex-tillståndet med ett tillståndsblock anger du D3DSBT_VERTEXSTATE när du anropar IDirect3DDevice9::CreateStateBlock.

Vertex-pipeline: Renderingstillstånd

Enhetsåtergivningstillstånd påverkar beteendet för nästan alla delar av pipelinen. Renderingstillstånd anges genom anrop av IDirect3DDevice9::SetRenderState.

Följande tabell innehåller alla återgivningstillstånd som konfigurerar hörntillstånd:

Återgivningstillstånd Standardvärde
D3DRS_CULLMODE D3DCULL_CCW
D3DRS_FOGCOLOR 0
D3DRS_FOGTABLEMODE D3DFOG_NONE
D3DRS_FOGSTART 0
D3DRS_FOGEND 1
D3DRS_FOGDENSITY 1
D3DRS_RANGEFOGENABLE FALSK
D3DRS_AMBIENT 0
D3DRS_COLORVERTEX TRUE
D3DRS_FOGVERTEXMODE D3DFOG_NONE
D3DRS_CLIPPING TRUE
D3DRS_LIGHTING (belysning) 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 Förarberoende
D3DRS_POINTSIZE_MIN 1
D3DRS_POINTSPRITEENABLE FALSK
D3DRS_POINTSCALEENABLE FALSE
D3DRS_POINTSCALE_A 1
D3DRS_POINTSCALE_B 0
D3DRS_POINTSCALE_C 0
D3DRS_MULTISAMPLEANTIALIAS SANN
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"/> FALSK

 

Vertex-pipeline: Sampler-tillstånd

Sampler-tillstånd styr samplingsrelaterade ämnen som filtrering, plattsättning och strukturkoordinatadresslägen. Använd IDirect3DDevice9::SetSamplerState för att konfigurera sampler-tillståndet (inklusive det som används i tessellatorenheten för att prova förskjutningskartor). Sampler-tillstånden har bytt namn med prefixet "D3DSAMP_" för att aktivera kompileringsfelupptäckt vid portning från DirectX 8.

Följande tabell innehåller alla sampler-tillstånd som ställer in vertex-tillstånd:

Sampler-tillstånd Standardvärde
D3DSAMP_DMAPOFFSET 256

 

Hörnpipeline: Strukturtillstånd

Texturtillstånd styr blandningsoperationerna i en multiteksturblandare. Använd IDirect3DDevice9::SetTextureStageState för att konfigurera strukturtillstånd. Använd IDirect3DDevice9::SetTexture för att associera en struktur med ett sampler-stadium.

Följande tabell innehåller alla strukturtillstånd som konfigurerar hörntillstånd:

Strukturtillstånd Standardvärde
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

D3DTSS_TEXCOORDINDEX är ett fast funktion vertexbearbetningstillstånd. Om en programmerbar hörnskuggning används ignoreras det här tillståndet.

State Blocks Spara och Återställ Tillstånd