Platform SDK: DirectX |
ステンシル バッファは、レンダリング ターゲット サーフェスのピクセルごとの描画を有効または無効にする。このバッファの最も基本的なレベルでは、アプリケーションがレンダリングした画像の部分をマスクで覆うことが可能になり、その画像が表示されない。アプリケーションはディゾルブ、デカーリング、およびアウトライニングなどの特殊効果のためにステンシル バッファを使用することが多い。詳細については、「ステンシル バッファ技術」を参照すること。
ステンシル バッファ情報は、Z バッファ データに埋め込まれている。IDirect3D7::EnumZBufferFormats メソッドを呼び出して、ユーザーのハードウェアがステンシル バッファをサポートしているかどうかを調べることができる。このメソッドは、深度バッファ フォーマットを DDPIXELFORMAT 構造体でアプリケーションに渡す。関連情報は、dwZBufferBitDepth、dwStencilBitDepth、dwZBitMask、および dwStencilBitMask メンバに含まれている。
デバイスでのステンシル バッファ制限を調べるには、サポートされているステンシル バッファ処理について D3DDEVICEDESC7 構造体の dwStencilCaps メンバに問い合わせる。
ステンシル バッファ情報は、Z バッファ データに埋め込まれている。アプリケーションでは、Direct3D7.GetEnumZBufferFormats メソッドを呼び出して、ユーザーのハードウェアがステンシル バッファをサポートしているかどうかを調べ、次に、このメソッドが返す Direct3DEnumPixelFormats オブジェクトを使用して、サポートされている各深度バッファ ピクセル フォーマットについての情報を取得する。Direct3DenumPixelFormats.GetItem メソッドは、それぞれ DDPIXELFORMAT 型で深度バッファ フォーマットを取得する。関連情報は、lZBufferBitDepth、lStencilBitDepth、lZBitMask、および lStencilBitMask メンバに含まれている。
デバイスでのステンシル バッファ制限を調べるには、サポートされているステンシル バッファ処理について D3DDEVICEDESC7 型の lStencilCaps メンバに問い合わせる。