マスコットカプセル for brew - 半透明描画 - | 黄色のいこあんのブログ

マスコットカプセル for brew - 半透明描画 -

さて、前回2D/3Dの合成描画行ったわけです。
うん、なんか普通にメソッド呼び出し順に描画されるから、難しいこと考えなくていーのかも。
とりあえず、マスコットカプセル描画のあとに毎回flush入れているんだけど、これって大丈夫なのかな。
負荷かかったりしないかな?心配。。。


さて、それはさておき、ついに半透明描画について!

プリミティブの半透明描画とスプライトの半透明描画の2つがあります。3Dモデルとかの描画はおそらくスプライトと同じ方法で大丈夫なはず。それについては後ほど。

で、共通でやらなきゃいけないこと。
CompositeModeでアルファ値書き込みを有効にしつつ、アルファブレンドモードの設定をすること。
設定したCompositeModeをAppearanceにセットすること。
この2点が必要になります。

さて次にそれぞれで行うこと。
プリミティブでは簡単。
色のVertexArrayのアルファ値のところをお好みでセットしてください。以上。
ちゃんとVertexArrayの1ピクセルあたりの色エントリ数っていうか、なんたらを4にしたりするのを忘れないでね。

次にスプライト。これ少し悩んだんだけど、簡単ですた。
m3dNodeにある関数に
IMICRO3Dv4es_m3dNode_setAlphaFactor
っつーのがある。これの第2引数にアルファ値をいれればOK。
ちなみにこの関数の第一引数がm3dNode型のポインタなので、たぶんスプライトだけじゃなくm3dNodeを継承したものすべてに使えるはず。

簡単ですねー。


ちなみにテクスチャが2のべき乗×2のべき乗サイズじゃないと使えないのは不便だと思うんだ。。。


さて、これでとりあえずマスコットカプセルについてはおしまい。
3Dモデルの描画は今のところ範囲外だし。

次はなにしよーかねー。