描画の際のブレンドモードを詳細に設定する
SetDrawCustomBlendMode BlendEnable, SrcBlendRGB, DestBlendRGB, BlendOpRGB, SrcBlendA, DestBlendA, BlendOpA, BlendParam
BlendEnable : 描画の際のブレンド処理を行うかどうか TRUE : ブレンド処理を行う FALSE : ブレンド処理を行わない SrcBlendRGB : 描画する色(RGB)に乗算するパラメーター DX_BLEND_ZERO : R=0.0 G=0.0 B=0.0 A=0.0 DX_BLEND_ONE : R=1.0 G=1.0 B=1.0 A=1.0 DX_BLEND_SRC_COLOR : R=Rs G=Gs B=Gs A=As DX_BLEND_INV_SRC_COLOR : R=1.0-Rs G=1.0-Gs B=1.0-Gs A=1.0-As DX_BLEND_SRC_ALPHA : R=As G=As B=As A=As DX_BLEND_INV_SRC_ALPHA : R=1.0-As G=1.0-As B=1.0-As A=1.0-As DX_BLEND_DEST_COLOR : R=Rd G=Gd B=Bd A=Ad DX_BLEND_INV_DEST_COLOR : R=1.0-Rd G=1.0-Gd B=1.0-Bd A=1.0-Ad DX_BLEND_DEST_ALPHA : R=Ad G=Ad B=Ad A=Ad DX_BLEND_INV_DEST_ALPHA : R=1.0-Ad G=1.0-Ad B=1.0-Ad A=1.0-Ad DX_BLEND_SRC_ALPHA_SAT : R=f G=f B=f A=1.0 Rs, Gs, Bs, As=描画する色の赤・緑・青・αの成分 Rd, Gd, Bd, Ad=描画される画面の色の赤・緑・青・αの成分 f= As と 1.0-Ad を比較して小さい方の値 DestBlendRGB : 描画される画面の色(RGB)に乗算するパラメーター ( 指定できる値は SrcBlendRGB と同じです ) BlendOpRGB : 描画する色と描画される画面の色の乗算した結果に対して行う演算 DX_BLENDOP_ADD : 描画する色と描画される画面の色を加算 DX_BLENDOP_SUBTRACT : 描画する色から描画される画面の色を減算 DX_BLENDOP_REV_SUBTRACT : 描画される画面の色から描画する色を減算 DX_BLENDOP_MIX : 描画する色と描画される色の値の小さい方を使用 DX_BLENDOP_MAX : 描画する色と描画される色の値の大きい方を使用 SrcBlendA : 描画するα値に乗算するパラメーター ( 指定できる値は SrcBlendRGB と同じです ) DestBlendA : 描画される画面のα値に乗算するパラメーター ( 指定できる値は SrcBlendRGB と同じです ) BlendOpA : 描画するα値と描画される画面のα値の乗算した結果に対して行う演算 ( 指定できる値は BlendOpRGB と同じです ) Pal : ブレンドモードのパラメータ(0~255)
(プラグイン / モジュール : DxLibW)
SetDrawBlendMode の詳細設定版です。 一般的に使用するブレンドモードについては SetDrawBlendMode に用意されているので、 SetDrawBlendMode で対応していないブレンドを行いたい場合や、 Direct3D や OpenGL と同じ感覚でブレンドモードを設定したい場合に使用します。 因みに、DX_BLENDMODE_ALPHA 等と同じ効果をこの関数で設定した場合は以下のようになります。 <DX_BLENDMODE_NOBLEND : ブレンド処理無し> SetDrawCustomBlendMode( FALSE, DX_BLEND_ONE, DX_BLEND_ZERO, DX_BLENDOP_ADD, DX_BLEND_ONE, DX_BLEND_ZERO, DX_BLENDOP_ADD, 255 ) ; <DX_BLENDMODE_ALPHA : αブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_SRC_ALPHA, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, DX_BLEND_SRC_ALPHA, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, 255 ) ; <DX_BLENDMODE_ADD : 加算ブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_SRC_ALPHA, DX_BLEND_ONE, DX_BLENDOP_ADD, DX_BLEND_SRC_ALPHA, DX_BLEND_ONE, DX_BLENDOP_ADD, 255 ) ; <DX_BLENDMODE_SUB : 減算ブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_SRC_ALPHA, DX_BLEND_ONE, DX_BLENDOP_REV_SUBTRACT, DX_BLEND_SRC_ALPHA, DX_BLEND_ONE, DX_BLENDOP_REV_SUBTRACT, 255 ) ; <DX_BLENDMODE_PMA_ALPHA : 乗算済みα用のαブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_ONE, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, DX_BLEND_ONE, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, 255 ) ; <DX_BLENDMODE_PMA_ADD : 乗算済みα用の加算ブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_ONE, DX_BLEND_ONE, DX_BLENDOP_ADD, DX_BLEND_ONE, DX_BLEND_ONE, DX_BLENDOP_ADD, 255 ) ; <DX_BLENDMODE_PMA_SUB : 乗算済みα用の減算ブレンド> SetDrawCustomBlendMode( TRUE, DX_BLEND_ONE, DX_BLEND_ONE, DX_BLENDOP_REV_SUBTRACT, DX_BLEND_ONE, DX_BLEND_ONE, DX_BLENDOP_REV_SUBTRACT, 255 ) ; 戻り値: 0:成功
| GetDrawCustomBlendMode | カスタムブレンドモードを取得する | (DxLibW) |
| プラグイン / モジュール | DxLibW |
| バージョン | 3.24f |
| 作成日 | 2026/04/12 |
| 著作者 | DxLib: Takumi Yamada / HSP binding: IronHSP Project |
| URL | https://dxlib.xsrv.jp/ |
| 備考 | hspdxlib.as をインクルードして使用 |
| タイプ | DxLib ゲームライブラリ |
| グループ | DxLib グラフィック描画 |
| 対応環境 |
|
| hs ファイル | hsphelp\hspdxlib.hs |