Condividi tramite


Gruppi di stati di effetto (Direct3D 11)

Gli stati di effetto sono coppie valore nome sotto forma di espressione.

Stato di blend

Stato effetto Gruppo
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDESTBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK Membri di D3D11_BLEND_DESC

 

Stato profondità e Stencil

Stato effetto Gruppo
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK Membri di D3D11_DEPTH_STENCIL_DESC
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC Membro di D3D11_DEPTH_STENCILOP_DESC

 

Stato rasterizer

Stato effetto Gruppo
FILLMODE D3D11_FILL_MODE
CULLMODE D3D11_CULL_MODE
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE Membri di D3D11_RASTERIZER_DESC

 

Stato dell'esempio

Stato effetto Gruppo
Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD Membri di D3D11_SAMPLER_DESC

 

Per esempi, vedere Sampler Type (DirectX HLSL).

Stato dell'oggetto Effetto

Questo oggetto Effect Mapping a
RASTERIZERSTATE Oggetto Stato Rasterizer .
DEPTHSTENCILSTATE Oggetto State Depth e Stencil State .
BLENDSTATE Oggetto Stato Blend .
VERTEXSHADER Oggetto vertex shader compilato.
PIXELSHADER Oggetto pixel shader compilato.
GEOMETRYSHADER Oggetto geometry shader compilato.
DS_STENCILREFAB_BLENDFACTORAB_SAMPLEMASK Membri di D3DX11_PASS_DESC.

 

Definizione e uso di oggetti di stato

Gli oggetti stato vengono dichiarati nei file FX nel formato seguente. StateObjectType è uno degli stati elencati sopra e MemberName è il nome di qualsiasi membro che avrà un valore non predefinito.

StateObjectType ObjectName {
  MemberName = value;
  ...
  MemberName = value;
};
    

Ad esempio, per configurare un oggetto stato blend con AlphaToCoverageEnable e BlendEnable[0] impostato su FALSE , verrà usato il codice seguente.

BlendState NoBlend {
  AlphaToCoverageEnable = FALSE;
  BlendEnable[0] = FALSE;
};
    

L'oggetto state viene applicato a una tecnica passando usando una delle funzioni SetStateGroup descritte nella sintassi di Effect Technique (Direct3D 11). Ad esempio, per applicare l'oggetto BlendState descritto sopra il codice seguente verrà usato.

SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
    

Sintassi della tecnica degli effetti

Formato effetto (Direct3D 11)