洞窟の中での光を表すときに、光源が一つだけならば乗算ブレンドを使ってうまく表現をすることができました。
コード:
//背景画像(640×480)
int test = LoadGraph("test.png");
//背景と同じサイズで、白から黒に円形でグラデーションしている画像
int mul = LoadGraph("mul.png");
DrawGraph(0, 0, test, TRUE);
SetDrawBlendMode(DX_BLENDMODE_MUL, 255);
DrawGraph(0, 0, mul, TRUE);
SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0);
しかし、例えば光源が二つあってその光同士が重なり合う場合、この方法では思い通りの結果を得られませんでした
[code = Cpp]
//背景画像(640×480)
int test = LoadGraph("test.png");
//背景と同じサイズで、白から黒に円形でグラデーションしている画像
int mul = LoadGraph("mul.png");
DrawGraph(0, 0, test, TRUE);
SetDrawBlendMode(DX_BLENDMODE_MUL, 255);
DrawGraph(0, 0, mul, TRUE);
DrawGraph(320, 0, mul, TRUE);
SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0);
[/code]
光源が複数あって、それらが重なり合う場合はどうすればうまくいくでしょうか?