1

_D3DRENDERSTATETYPE 構造体の d3d9types.h では、最後の 3 つの型は次のとおりです。

D3DRS_SRCBLENDALPHA             = 207,  /* SRC blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */
D3DRS_DESTBLENDALPHA            = 208,  /* DST blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */
D3DRS_BLENDOPALPHA              = 209,  /* Blending operation for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */

「D3DRS_SEPARATEDESTALPHAENABLE が TRUE」の場合にこれらが使用されることに注意してください。ただし、構造体には D3DRS_SEPARATEDESTALPHAENABLE はまったくありません。最も近いのは「D3DRS_SEPARATEALPHABLENDENABLE」のようですが、これが同じかどうかはまったくわかりません。

したがって、最後の 3 つの renderstates が実際に機能するためには、何を true に設定する必要があるのか​​ 疑問に思っていました (もしあれば?)、それは D3DRS_SEPARATEALPHABLENDENABLE だと強く思いますが、誰かに確認してもらいたいですか?

4

1 に答える 1

2

はい、D3DRS_SEPARATEALPHABLENDENABLE. コメントのタイプミスのようです。

DXSDK から:

D3DRS_SRCBLENDALPHA

D3DBLEND 列挙型の 1 つのメンバー。D3DRS_SEPARATEALPHABLENDENABLE が true でない限り、この値は無視されます。デフォルト値は D3DBLEND_ONE です。

D3DRS_DESTBLENDALPHA

D3DBLEND 列挙型の 1 つのメンバー。D3DRS_SEPARATEALPHABLENDENABLE が true でない限り、この値は無視されます。デフォルト値は D3DBLEND_ZERO です。

D3DRS_BLENDOPALPHA

レンダリング ステート D3DRS_SEPARATEALPHABLENDENABLE が TRUE に設定されている場合に、個別のアルファ ブレンディングに適用される算術演算を選択するために使用される値。

有効な値は、D3DBLENDOP 列挙型によって定義されます。デフォルト値は D3DBLENDOP_ADD です。D3DPMISCCAPS_BLENDOP デバイス機能がサポートされていない場合、D3DBLENDOP_ADD が実行されます。D3DPMISCCAPS を参照してください。

于 2009-07-28T06:26:38.777 に答える