次の方法で共有


アルファ テクスチャ ブレンド (Direct3D 9)

照明エンジンは、マテリアルの色、頂点の色、照明情報を組み合わせて頂点ごとの色を生成します。 補間されると、フレーム バッファーに書き込まれるピクセル単位の色が生成されます。 アプリケーションでテクスチャ ブレンドを有効にすると、ピクセルカラーはフレーム バッファー内の現在のピクセルとテクスチャカラーの組み合わせになります。

この数式は、最終的にブレンドされたピクセルの色を決定します。

Color = TexelColor x SourceBlend + CurrentPixelColor x DestBlend

この場合、

  • 色は出力ピクセルの色です。
  • TexelColor は、テクスチャ フィルター処理後の入力色です。
  • SourceBlend は、ソース テクセルの色で構成される最終的なピクセル色の割合です。
  • CurrentPixelColor は、現在のピクセルの色です。
  • DestBlend は、現在のピクセルの色で構成される最終的なピクセル色の割合です。

最終的なブレンド式は、 IDirect3DDevice9::SetRenderState を呼び出し、対応するブレンド 係数 (D3DBLEND) を使用してブレンド レンダー状態 (D3DRS_BLENDXXX) を指定することによって設定されます。 SourceBlend と DestBlend の値は、0.0 (透明) から 1.0 (不透明) までの範囲です。 さらに、アプリケーションでは、テクスチャのアルファ値を設定することで、ピクセルの透明度を制御できます。 この場合は、次を使用します。

SourceBlend = D3DBLEND_ZERO 
DestBlend = D3DBLEND_ONE

ブレンド式を使用すると、レンダリングされたピクセルが透明になります。 既定値は次のとおりです。

SourceBlend = D3DBLEND_SRCALPHA 
DestBlend = D3DBLEND_INVSRCALPHA

テクスチャ ブレンド

テクスチャ フィルタリング (Direct3D 9)

D3DRENDERSTATETYPE