Microsoft DirectX 8.0 (C++) |
ブレンディングの重み (ベータの重みと呼ぶときもある) は、指定されたワールド行列によって頂点が受ける影響の範囲を制御する。ブレンディングの重みとは、0.0 〜 1.0 の範囲の浮動小数点値であり、頂点フォーマットでエンコードされる。値が 0.0 の場合、頂点はその行列でブレンドされない。値が 1.0 の場合、頂点は行列の影響をすべて受ける。
ジオメトリ ブレンディングの重みは、頂点フォーマットでエンコードされ、「頂点フォーマットについて」で説明するように、各頂点の位置座標のすぐ後に現れる。Microsoft® Direct3D® レンダリング メソッドに指定する頂点記述に D3DFVF_XYZB1 〜 D3DFVF_XYZB5 の柔軟な頂点フォーマット フラグのいずれかを含めることで、頂点フォーマットにブレンディングの重みを指定する。
重み付けされたブレンド行列間で、システムによって線形ブレンドが実行される。次に、正式なブレンディング公式を示す。
前記の公式では、vBlend は出力頂点であり、v 要素は適用後のワールド行列 (D3DTS_WORLDn) によって生成される頂点である。W 要素は、頂点フォーマット内の対応する重みである。n 個の行列間でブレンドされる頂点は、n–1 個のブレンディングの重みを持つことができる (最後のブレンディング行列を除き、各ブレンディング行列に 1 つの重み)。最後のワールド行列の重みは、この公式では Σ で表すように、重みの合計が 1.0 になるようシステムによって自動的に生成される。この公式は、Direct3D がサポートしているケースに合わせて簡略化できる。
これらの公式は、正式なブレンディング公式を、2、3、および 4 つのブレンド行列のケースに合わせて簡略化したものである。
注 Direct3D では、最大 5 つのブレンディングの重みを持つ頂点を定義する柔軟な頂点フォーマット記述子を含めることができるが、このリリースの Microsoft DirectX® では 3 つまでしか使用できない。