gpu_get_blendmode_ext_sepalpha

此函数可用于检索用于绘制的当前扩展混合模式,将混合模式分为两部分- RGB 组件和Alpha组件。函数返回一个包含以下元素的4 element 1D数组:

数组的值将是以下常量之一("s"表示从源获取的值,而"d"表示从目标获取的值):

混合模式因子常量
常量混合因子(红色、绿色、蓝色、透明度)
bm_zero(0, 0, 0, 0)
bm_one(1, 1, 1, 1)
bm_src_colour(Rs, Gs, Bs, As)
bm_inv_src_colour(1-Rs, 1-Gs, 1-Bs, 1-As)
bm_src_alpha(As, As, As, As)
bm_inv_src_alpha(1-As, 1-As, 1-As, 1-As)
bm_dest_alpha(Ad, Ad, Ad, Ad)
bm_inv_dest_alpha(1-Ad, 1-Ad, 1-Ad, 1-Ad)
bm_dest_colour(Rd, Gd, Bd, Ad)
bm_inv_dest_colour(1-Rd, 1-Gd, 1-Bd, 1-Ad)
bm_src_alpha_sat(f, f, f, 1) where f = min(As, 1-Ad)

以这种方式创建扩展混合模式时,将从一个混合模式获取 RGB 组件,从另一个混合模式获取 Alpha 组件,因此,例如,如果使用 bm_zero(0,0,0,0) 作为 RGB 混合模式,bm_one 作为 Alpha 混合模式,将获得 (0,0,0,1) 的复合混合。

请注意,您可以直接在数组中更改这些值,并将整个数组作为单个参数传递给函数(如下例所示)。

 

语法:

gpu_get_blendmode_ext_sepalpha();

 

返回:

Array (4 elements only; see above for constants)

 

例子:

var bm = gpu_get_blendmode_ext_sepalpha();
bm[0] = bm_src_alpha;
bm[1] = bm_inv_src_alpha;
gpu_set_blendmode_ext_sepalpha(bm);

上述代码将创建一个局部数组,并获取具有单独Alpha值的当前扩展混合模式。然后操纵该数组并返回以设置混合模式。