固定関数シェーダー パイプラインでデバイスの状態を設定する

このセクションでは、固定関数とプログラミング可能なシェーダー パイプラインでデバイスの状態を設定する場合の主な違いについて説明します。

固定関数パイプラインだけに設定できるデバイスの状態を次に示します。

固定関数シェーダー パイプラインとプログラミング可能シェーダー パイプラインの両方に対して IDirect3DDevice9::SetRenderState で設定できるデバイス のレンダリング状態を次に示します。

  • レンダー ターゲットの状態: D3DRS_COLORWRITEENABLE、D3DRS_COLORWRITEENABLE1、D3DRS_COLORWRITEENABLE2、D3DRS_COLORWRITEENABLE3、D3DRS_SRGBWRITEENABLE
  • 深度の状態: D3DRS_ZENABLE、D3DRS_ZWRITEENABLE、D3DRS_ZFUNC、D3DRS_SLOPESCALEDEPTHBIAS、D3DRS_DEPTHBIAS
  • ステンシルの状態: D3DRS_STENCILENABLE、D3DRS_STENCILFAIL、D3DRS_STENCILZFAIL、D3DRS_STENCILPASS、D3DRS_STENCILFUNC、D3DRS_STENCILREF、D3DRS_STENCILMASK、D3DRS_STENCILWRITEMASK、D3DRS_TWOSIDEDSTENCILMODE、D3DRS_CCW_STENCILFAIL、D3DRS_CCW_STENCILZFAIL、D3DRS_CCW_STENCILPASS、D3DRS_CCW_STENCILFUNC
  • アルファ ブレンド: D3DRS_SRCBLEND、D3DRS_DESTBLEND、D3DRS_BLENDOP、D3DRS_BLENDFACTOR、D3DRS_SEPARATEALPHABLENDENABLE、D3DRS_SRCBLENDALPHA、D3DRS_DESTBLENDALPHA、D3DRS_BLENDOPALPHA
  • アルファ テスト: D3DRS_ALPHATESTENABLE、D3DRS_ALPHAREF、D3DRS_ALPHAFUNC
  • ラスタライザーの状態: D3DRS_FILLMODE、D3DRS_LASTPIXEL、D3DRS_DITHERENABLE (16 ビット サーフェス)
  • カリング: D3DRS_CULLMODE
  • クリッピング: D3DRS_CLIPPING、D3DRS_CLIPPLANEENABLE
  • ハサミ:D3DRS_SCISSORTESTENABLE
  • テクスチャ サンプラー: D3DRS_WRAP0、D3DRS_WRAP1、D3DRS_WRAP2、D3DRS_WRAP3、D3DRS_WRAP4、D3DRS_WRAP5、D3DRS_WRAP6、D3DRS_WRAP7、D3DRS_WRAP8、D3DRS_WRAP9、D3DRS_WRAP10、D3DRS_WRAP11、D3DRS_WRAP12、D3DRS_WRAP13、D3DRS_WRAP14、D3DRS_WRAP15
  • アンチエイリアシング: D3DRS_MULTISAMPLEANTIALIAS、D3DRS_MULTISAMPLEMASK、D3DRS_ANTIALIASEDLINEENABLE
  • ポイント スプライト: D3DRS_POINTSIZE、D3DRS_POINTSIZE_MIN、D3DRS_POINTSPRITEENABLE、D3DRS_POINTSIZE_MAXD3DRS_POINTSCALEENABLE、D3DRS_POINTSCALE_A、D3DRS_POINTSCALE_B、D3DRS_POINTSCALE_C
  • N パッチ: D3DRS_PATCHEDGESTYLE、D3DRS_POSITIONDEGREE、D3DRS_NORMALDEGREE、D3DRS_MINTESSELLATIONLEVEL、D3DRS_MAXTESSELLATIONLEVEL、D3DRS_ADAPTIVETESS_X、D3DRS_ADAPTIVETESS_Y、D3DRS_ADAPTIVETESS_Z、D3DRS_ADAPTIVETESS_W、D3DRS_ENABLEADAPTIVETESSELLATION

高度なトピック