いつもお世話になっております。
SetDrawAddColor関数を試していたのですが
SetDrawBlendModeで DX_BLENDMODE_PMA_ALPHA を指定して半透明な画像を描画したところ、
ピクセルのα値が0以外であれば不透明度も同時に加算されていくような結果となったのですが
これはSetDrawAddColor関数の仕様でしょうか?
(いまいち理解してなく勘違いでしたらごめんなさい…)
DX_BLENDMODE_PMA_ALPHA を DX_BLENDMODE_ALPHA に変更すると自分が期待していた描画結果となりました。
DxLibのバージョンは3.24bです。
以下にサンプルを記載いたします。
("particle.png"は真っ黒な光を放つ粒のような画像でテストしてました)
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1)
return -1;
SetUsePremulAlphaConvertLoad(TRUE);
int imageHandle_ = LoadGraph("particle.png");
DrawBox(0, 0, 640, 480, 0x888888, TRUE);
SetDrawBlendMode(DX_BLENDMODE_PMA_ALPHA, 255);
SetDrawAddColor(255, 255, 255);
DrawGraph(0, 0, imageHandle_, TRUE);
WaitKey();
DxLib_End();
return 0;
}