ブレンドモードを設定するには、 CompositingMode クラスの setBlending() メソッドを使用します。M3G では REPLACE 、 ALPHA 、 ALPHA_ADD 、 MODULATE 、 MODULATE_X2 の5種類のブレンドモードが用意されています。各ブレンドモードの詳細については javadoc をご参照ください。
ブレンドモードが ALPHA 、 ALPHA_ADD の場合、 Node クラスの setAlphaFactor() メソッドによって透過量を指定することができます。このとき、 setAlphaFactor() メソッドの引数には 0 から 1 の間に正規化された値を指定してください。
描画対象となるモデルは setAlphaFactor() メソッドによって設定された透過量が CompositingMode クラスの alphaThreshold が持つ値以上であるときに描画されます。
以下のサンプルコードはブレンドモードの変更、および透過量の変更を行っているところです。
/**
* alphaDegree = 0.1f;
* myComp は World オブジェクトから取得した
* CompositingMode オブジェクト
*/
/* ブレンドモード変更 */
if ( isBlend == 0 ) {
( 中略 )
/* Alpha Factor の増減 */
if ( keyCode == KEY_NUM7 ) {
if ( keyCode == KEY_NUM9 ) {
* alphaDegree = 0.1f;
* myComp は World オブジェクトから取得した
* CompositingMode オブジェクト
*/
/* ブレンドモード変更 */
if ( isBlend == 0 ) {
myComp.setBlending ( CompositingMode.REPLACE );
} else {
if ( isBlend == 1 )
if ( alphaFact < 0.f )
}
myComp.setBlending ( CompositingMode.ALPHA );
else if ( isBlend == 2 )
myComp.setBlending ( CompositingMode.MODULATE );
/* Alpha Factor の設定 */if ( alphaFact < 0.f )
alphaFact = 0.f;
else if ( alphaFact > 1.f )
alphaFact = 1.f;
alphaMesh.setAlphaFactor ( alphaFact );
( 中略 )
/* Alpha Factor の増減 */
if ( keyCode == KEY_NUM7 ) {
alphaFact -= ( alphaFact <= 0.f ) ? 0.f : alphaDegree;
}if ( keyCode == KEY_NUM9 ) {
alphaFact += ( alphaFact >= 1.f ) ? 0.f : alphaDegree;
}
![]() REPLACE |
![]() ALPHA ( Alpha Factor = 0.2 ) |
![]() ALPHA ( Alpha Factor = 0.6 ) |
![]() MODULATE |





