トップページ > 記事閲覧
SetDrawAddColor関数のDX_BLENDMODE_PMA_ALPHA 指定時の描画結果について
名前:ななし 日時: 2023/09/25 22:15

いつもお世話になっております。 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; }
メンテ

Page: 1 |

Re: SetDrawAddColor関数のDX_BLENDMODE_PMA_ALPHA 指定時の描画結果について ( No.1 )
名前:管理人 日時:2023/09/26 02:28

すみません、本件の現象は SetDrawAddColor関数が乗算済みアルファ系のブレンドモードを 想定していないために発生している現象となります 乗算済みアルファ系のブレンドモードにも SetDrawAddColor関数の機能を対応させたいと思いますが 少し変更しなければいけない箇所が多いのと、現在週末しか纏まった作業時間を確保できない( 加えて次の週末は別の予定が入っている )ので、 最速でも対応が完了するのは次の次の週末( 10/7〜10/9 )になりそうです、すみません m(_ _;m
メンテ
Re: SetDrawAddColor関数のDX_BLENDMODE_PMA_ALPHA 指定時の描画結果について ( No.2 )
名前:ななし 日時:2023/09/26 15:31

ご返信ありがとうございます。 > すみません、本件の現象は SetDrawAddColor関数が乗算済みアルファ系のブレンドモードを > 想定していないために発生している現象となります 想定外の利用だったのですね。申し訳ございません。 > 乗算済みアルファ系のブレンドモードにも SetDrawAddColor関数の機能を対応させたいと思いますが > 少し変更しなければいけない箇所が多いのと、現在週末しか纏まった作業時間を確保できない( 加えて次の週末は別の予定が入っている )ので、 > 最速でも対応が完了するのは次の次の週末( 10/7〜10/9 )になりそうです、すみません m(_ _;m 今後、対応予定とのことでとても楽しみです。 SetDrawAddColor関数を見たとき、ゲームの演出でたくさん利用できそうですごく魅力的でしたので この掲示板で質問させていただきました。 自分は全く急いでいませんので、管理人さんの無理のないペースで対応していただけるとうれしいです。
メンテ
Re: SetDrawAddColor関数のDX_BLENDMODE_PMA_ALPHA 指定時の描画結果について ( No.3 )
名前:管理人 日時:2023/10/07 23:32

お待たせしました DX_BLENDMODE_PMA_ALPHA などの乗算済みαのブレンドモードでも SetDrawAddColor の効果が正常に機能するように修正しましたので よろしければこちらの暫定最新版をお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 11.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: SetDrawAddColor関数のDX_BLENDMODE_PMA_ALPHA 指定時の描画結果について ( No.4 )
名前:ななし(解決済み) 日時:2023/10/08 15:07

> 管理人様 手元のゲームで正常に動作していることを確認しました。 こちらのしがない要望を実現していただき、本当にありがとうございます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存