サンプル

ブレンドモード

ここではブレンドモードについて解説します。
ブレンドモードとはピクセルを合成する方法のことです。この設定を変化させると、モデルを半透明で表示することなどができます。




ブレンドモードの設定

ブレンドモードを設定するには IMICRO3Dv4es_m3dCompositingMode_setBlending ( inst, compositing, blending ) メソッドを使用します。blending が設定するブレンドモードを表し、m3dCompositingMode_REPLACE 、 m3dCompositingMode_ALPHA など5種類のモードを指定することができます。各ブレンドモードの詳細については API リファレンスマニュアル を参照してください。

ブレンドモードが ALPHA 、 ALPHA_ADD の場合、 各 m3dNode オブジェクトのアルファ係数によって透過量が計算されます。また、モデルのアルファ係数が m3dCompositingMode オブジェクトが持つalphaThreshold の値以上であるときのみ描画されるようになります。アルファ係数の設定は IMICRO3Dv4es_m3dNode_setAlphaFactor ( inst, node, alphaFactor ) メソッドによって行います。ここで、alphaFactor には 0 から 1 の間に正規化された値を指定します。

以下は、サンプルコードでアルファ係数とブレンドモードの設定を行っているところです。

/* アルファ係数の設定 */
IMICRO3Dv4es_m3dNode_setAlphaFactor ( pMe -> pIM3D, ( m3dNode* ) pmc -> pModelMesh, pmc -> modelAlpha );

/* ブレンドモードの設定 */
switch ( pmc -> blendMode ) {
case REPLACE:
/* 上書き ( 光源との調整なし ) */
IMICRO3Dv4es_m3dCompositingMode_setBlending ( pMe -> pIM3D,
       pmc -> pComp,
       m3dCompositingMode_REPLACE );
break;
case ALPHA:
/* アルファブレンド */
IMICRO3Dv4es_m3dCompositingMode_setBlending ( pMe -> pIM3D,
       pmc -> pComp,
      m3dCompositingMode_ALPHA );
break;
case MODULATE:
/* 通常の描画処理 ( 光源との調整あり ) */
IMICRO3Dv4es_m3dCompositingMode_setBlending ( pMe -> pIM3D,
       pmc -> pComp,
       m3dCompositingMode_MODULATE );
break;
default:
pmc -> blendMode = REPLACE;
break;
}
REPLACE 
REPLACE
ALPHA ( Alpha Factor = 0.2 )
ALPHA ( Alpha Factor = 0.2 )
ALPHA ( Alpha Factor = 0.6 ) 
ALPHA ( Alpha Factor = 0.6 )
MODULATE
MODULATE
各ブレンドモードでの描画結果


このページの先頭へ戻る