Chapter4. 拡張関数


4.1 グラフィックス関数

関数名
G@CHRSETBLEND
機能
キャラクターパターンをコピーする際のアルファーブレンド値を指定する。
書式
G@CHRSETBLEND( CN , src ,dest )
《パラメーター》
CNint。キャラクターパターン番号
src int。アルファーブレンド時のソース値(初期値:−1)
 −1:上位フレームを継承する
 0:D3DBLEND_ZERO。ブレンディング係数は (0, 0, 0, 0)。
 1:D3DBLEND_ONE。ブレンディング係数は (1, 1, 1, 1)
 2:D3DBLEND_SRCCOLOR。ブレンディング係数は (Rs, Gs, Bs, As)
 3:D3DBLEND_INVSRCCOLOR。ブレンディング係数は (1-Rs, 1-Gs, 1-Bs, 1-As)
 4:D3DBLEND_SRCALPHA。ブレンディング係数は (As, As, As, As)
 5:D3DBLEND_INVSRCALPHA。ブレンディング計数は (1-As, 1-As, 1-As, 1-As)
 6:D3DBLEND_DESTALPHA。ブレンディング係数は (Ad, Ad, Ad, Ad)
 7:D3DBLEND_INVDESTALPHA。ブレンディング計数は (1-Ad, 1-Ad, 1-Ad, 1-Ad)
 8:D3DBLEND_DESTCOLOR。ブレンディング係数は (Rd, Gd, Bd, Ad)
 9:D3DBLEND_INVDESTCOLOR。ブレンディング計数は (1-Rd, 1-Gd, 1-Bd, 1-Ad)
10:D3DBLEND_SRCALPHASAT。ブレンディング係数は、(f, f, f, 1)、f = min(As, 1-Ad)
11:D3DBLEND_BOTHSRCALPHA。

使わない。転送元および転送先のブレンディング係数に D3DBLEND_SRCALPHAD3DBLEND_INVSRCALPHA をそれぞれ別の呼び出しで設定することにより、同じ効果を得ることができる。

12:D3DBLEND_BOTHINVSRCALPHA。

転送元のブレンディング係数は (1-As, 1-As, 1-As, 1-As) で、転送先のブレンディング係数は (As, As, As, As) である。転送先のブレンディングの選択は上書きされる。このブレンディング モードは、D3DRS_SRCBLEND レンダリング ステートに対してのみサポートされる。

13:D3DBLEND_BLENDFACTOR。フレーム バッファ ブレンダが使う定数カラー ブレンディング係数
14:D3DBLEND_INVBLENDFACTOR。フレーム バッファ ブレンダが使う定数カラー ブレンディング係数の補数
dest int。アルファーブレンド時のデスティネーション値(初期値:−1)
指定値はsrcと同じ
解説
キャラクターパターンの描画で、描画先のキャラククターパターンとのアルファーブレンド情報を設定する。
半透明:src=4、dest=5を指定する(G@CHRCOLORAで透明度を指定する)
加算合成:src=1、dest=1を指定する
加算半透明合成:src=4、dest=1を指定する(G@CHRCOLORAで透明度を指定する)
乗算合成:src=0、dest=2を指定する
初期状態:src=-1(または1)、dest=-1(または0)を指定する。アルファーブレンドを行わない。
用例
描画するキャラクターパターンと描画先のキャラクターパターンの色を中和させて描画する。
CP = G3@CHRLOAD("sample.bmp")
G@CHRSETBLEND( CP , 1 , 1 )