Platform SDK: DirectX

ブレンディングの重み

ブレンディングの重み ("ベータの重み" と呼ぶときもある) は、指定されたワールド行列によって頂点が受ける影響の範囲を制御する。ブレンディングの重みとは、0.0 〜 1.0 の範囲の浮動小数点値であり、頂点フォーマットで符号化される。値が 0.0 の場合、頂点はその行列でブレンドされない。値が 1.0 の場合、頂点は行列の影響をすべて受ける。

[C++]

ジオメトリ ブレンディングの重みは、頂点フォーマットで符号化され、「頂点フォーマットについて」で説明するように、各頂点の位置座標のすぐ後に現れる。Direct3D レンダリング メソッドに指定する頂点記述に D3DFVF_XYZB1 〜 D3DFVF_XYZB5 の柔軟な頂点フォーマット フラグのいずれかを含めることで、頂点フォーマットにブレンディングの重みを指定する。

[Visual Basic]

ジオメトリ ブレンディングの重みは、頂点フォーマットで符号化され、「頂点フォーマットについて」で説明するように、各頂点の位置座標のすぐ後に現れる。Direct3D レンダリング メソッドに指定する頂点記述に D3DFVF_XYZB1 〜 D3DFVF_XYZB5 の柔軟な頂点フォーマット フラグのいずれかを含めることで、頂点フォーマットにブレンディングの重みを指定する。

重み付けされたブレンド行列間で、システムによって線形ブレンドが実行される。次に、正式なブレンディング公式を示す。

この公式では、vBlend は出力頂点であり、v 要素は適用後のワールド行列 (D3DTRANSFORMSTATE_WORLDn) によって生成される頂点である。W 要素は、頂点フォーマット内の対応する重みである。n 個の行列間でブレンドされる頂点は、n–1 個のブレンディングの重みを持つことができる (最後のブレンディング行列を除き、各ブレンディング行列に 1 つの重み)。最後のワールド行列の重みは、この公式では Σ で表すように、重みの合計が 1.0 になるようシステムによって自動的に生成される。この公式は、現在 Direct3D がサポートしているケースに合わせて、次のように簡略化できる。

この公式は、正式なブレンディング公式を、2、3、および 4 つのブレンド行列のケース (現在サポートされているのはこれだけ) に合わせて簡略化したものである。

 :  Direct3D では、最大 5 つのブレンディングの重みを持つ頂点を定義する柔軟な頂点フォーマット記述子を含めることができるが、このリリースの DirectX では 3 つまでしか使用できない。