Cette fonction peut être utilisée pour récupérer le mode de fusion étendu utilisé pour dessiner, en séparant les modes de fusion en deux parties - le composant RVB et le composant Alpha. La fonction renvoie un tableau 1D à 4 éléments avec les éléments suivants:
- [0] = Mode de fusion source moins le composant alpha (par défaut bm_src_alpha (As, As, As))
- [1] = Mode de fusion de destination moins le composant alpha (par défaut bm_inv_src_alpha (1-As, 1-As, 1-As))
- [2] = Composant alpha source (la valeur par défaut est bm_src_alpha (Comme))
- [3] = Composant alpha de destination (par défaut bm_inv_src_alpha (1-As))
Les valeurs du tableau seront l'une des constantes suivantes ("s" indique une valeur tirée de la source alors qu'un "d" indique une valeur de la destination):
Constant Facteur de fusion (Rouge, Vert, Bleu, Alpha) 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 (Annonce, Annonce, Annonce, Annonce) bm_inv_dest_alpha (1-Annonce, 1-Annonce, 1-Annonce, 1-Annonce) 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) où f = min (As, 1-Ad) Lors de la création des modes de fusion étendus de cette manière, les composants RVB seront pris d'un mode de fusion et le composant Alpha sera pris d'un autre, de sorte que - par exemple - si vous utilisez bm_zero (0, 0, 0, 0) comme le mode de mélange RGB et bm_one Comme le mode de mélange alpha, vous obtiendrez un mélange composite de (0,0,0,1).
Notez que vous pouvez modifier ces valeurs directement dans le tableau et passer le tableau complet à la fonction en tant qu'argument unique (comme indiqué dans l'exemple ci-dessous).
ATTENTION! Cette fonction est actuellement disponible uniquement sur la plate-forme cible Windows.
gpu_get_blendmode_ext_sepalpha();
4 element 1D Array (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);
Le code ci-dessus crée un tableau local et obtient le mode de fusion étendu actuel avec des valeurs alpha séparées. Ce tableau est ensuite manipulé et retourné pour définir le mode de fusion.