次の方法で共有


効果の状態グループ (Direct3D 11)

効果の状態は、式の形式の名前の値のペアです。

ブレンドの状態

効果の状態 グループ
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK D3D11_BLEND_DESCのメンバー

 

深度とステンシルの状態

効果の状態 グループ
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK D3D11_DEPTH_STENCIL_DESCのメンバー
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC D3D11_DEPTH_STENCILOP_DESCのメンバー

 

ラスタライザーの状態

効果の状態 グループ
FILLMODE D3D11_FILL_MODE
CULLMODE D3D11_CULL_MODE
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE D3D11_RASTERIZER_DESCのメンバー

 

サンプラーの状態

効果の状態 グループ
Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD D3D11_SAMPLER_DESCのメンバー

 

例については、「 サンプラーの種類 (DirectX HLSL)」 を参照してください。

Effect オブジェクトの状態

この効果オブジェクト 対応する設定
RASTERIZERSTATE Rasterizer State 状態オブジェクト。
DEPTHSTENCILSTATE 深度およびステンシルの状態オブジェクト。
BLENDSTATE Blend State 状態オブジェクト。
VERTEXSHADER コンパイルされた頂点シェーダー オブジェクト。
PIXELSHADER コンパイル済みのピクセル シェーダー オブジェクト。
GEOMETRYSHADER コンパイルされたジオメトリ シェーダー オブジェクト。
DS_STENCILREFAB_BLENDFACTORAB_SAMPLEMASK D3DX11_PASS_DESCのメンバー。

 

状態オブジェクトの定義と使用

状態オブジェクトは、FX ファイルで次の形式で宣言されます。 StateObjectType は上記の状態の 1 つであり、MemberName は既定値以外の値を持つメンバーの名前です。

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

たとえば、AlphaToCoverageEnable と BlendEnable[0] を FALSE に設定してブレンド状態オブジェクトを設定するには、次のコードを使用します。

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

状態オブジェクトは、「 Effect Technique Syntax (Direct3D 11)」で説明されている SetStateGroup 関数のいずれかを使用して、手法パスに適用されます。 たとえば、上で説明した BlendState オブジェクトを適用するには、次のコードを使用します。

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

効果の手法の構文

効果の形式 (Direct3D 11)