此函数与 gpu_set_blendequation 相同,但它允许您设置两个单独的方程:第一个用于源和目标的 RGB 分量,第二个用于 Alpha 成分。
您可以从以下方程中为每个方程进行选择:
Blend Mode Equation Constant | ||
---|---|---|
常量 | 描述 | 方程 |
bm_eq_add | Add both together (the default equation). | source + destination |
bm_eq_subtract | Subtract source from destination. | destination - source |
bm_eq_reverse_subtract | Subtract destination from source. | source - destination |
bm_eq_min | Use whichever value is smaller. | min(source, destination) |
bm_eq_max | Use whichever value is larger. | max(source, destination) |
重要 当使用 bm_eq_min 或 bm_eq_max 作为混合方程时,不会应用 混合因子,这实际上与使用 bm_one 作为混合方程相同的因素。
为了帮助您充分利用混合模式并帮助了解它们的工作原理以及它们如何影响绘制到屏幕上的最终图像,我们建议您阅读以下指南:
gpu_set_blendequation_sepalpha(equation, equation_alpha);
参数 | 类型 | 描述 |
---|---|---|
equation | Blend Mode Equation Constant | 用于 RGB 分量的混合模式方程。 |
equation_alpha | Blend Mode Equation Constant | 用于 alpha 分量的混合模式方程。 |
N/A
gpu_set_blendmode_ext(bm_src_alpha, bm_one);
gpu_set_blendequation_sepalpha(bm_subtract, bm_max);
draw_circle(100, 100, 50, 0);
gpu_set_blendmode(bm_normal);
这会更改混合模式因子,然后更改方程,绘制一个圆并重置混合模式和方程 (通过切换到正常混合模式),以便它们不会影响此后绘制的内容。
这里的混合将按如下方式运行:它将源像素与源 Alpha 相乘,并将目标像素与 1 相乘 (保持与原来相同)。然后,它将从目标 RGB 中减去源 RGB,并使用较大的 alpha 值。