メインループの前に
SetGraphMode( SCREEN_W, SCREEN_H, 32 ) ;
ColorScreen = MakeScreen( SCREEN_W, SCREEN_H, FALSE ) ;
HighBrightScreen = MakeScreen( SCREEN_W, SCREEN_H, FALSE ) ;
DownScaleScreen = MakeScreen( SCREEN_W / 8, SCREEN_H /8, FALSE ) ;
GaussScreen = MakeScreen( SCREEN_W / 8, SCREEN_H /8, FALSE ) ;
SetBackgroundColor( 250, 250, 250 ) ;
メインループ
if(ScreenFlip()==0 && ProcessMessage()==0){
SetDrawScreen( ColorScreen ) ;
ClearDrawScreen() ;
Bloom_Process();
}
void Bloom_Process(void){
MV1DrawModel( map.ModelHandle );
GraphFilterBlt( ColorScreen, HighBrightScreen, DX_GRAPH_FILTER_BRIGHT_CLIP, DX_CMP_LESS, 249, TRUE, GetColor( 0, 0, 0 ), 255 ) ;
GraphFilterBlt( HighBrightScreen, DownScaleScreen, DX_GRAPH_FILTER_DOWN_SCALE, 8 ) ;
GraphFilterBlt( DownScaleScreen, GaussScreen, DX_GRAPH_FILTER_GAUSS, 16, 600 ) ;
Render_Process();
//ここでモデルの描画をすると上手くいくが、これからぼかし
//光のように描画する画像が最前面に来てしまう。
SetDrawScreen( DX_SCREEN_BACK ) ;
DrawGraph( 0, 0, ColorScreen, FALSE ) ;
SetDrawMode( DX_DRAWMODE_BILINEAR ) ;
SetDrawBlendMode( DX_BLENDMODE_ADD, 255 ) ;
DrawExtendGraph( 0, 0, SCREEN_W, SCREEN_H, GaussScreen, FALSE ) ;
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 255 ) ;
SetDrawMode( DX_DRAWMODE_NEAREST ) ;
}
なのでぼかした画像をモデルより後ろに描画したいのですが、
この関数の終わりにモデルの描画を行うとうまく描画されません。全く思ってもいない所に半分だけ描画されている感じです。
モデルとぼかした画像の位置関係がうまくいくモデルの描画タイミングはどこなのでしょうか?