From 273a9196ebefdd455c6773682abff79a328f9277 Mon Sep 17 00:00:00 2001 From: Veka0 <26331365+Veka0@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:13:17 +0200 Subject: [PATCH] Improve blending factors documentation --- src/gu/pspgu.h | 44 +++++++++++++++++++++--------------- src/samples/gu/blend/blend.c | 2 +- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/gu/pspgu.h b/src/gu/pspgu.h index 35b274c6..d577d66d 100644 --- a/src/gu/pspgu.h +++ b/src/gu/pspgu.h @@ -249,15 +249,21 @@ extern "C" { #define GU_ABS (5) /* Blending Factor */ -#define GU_SRC_COLOR (0) -#define GU_ONE_MINUS_SRC_COLOR (1) -#define GU_SRC_ALPHA (2) -#define GU_ONE_MINUS_SRC_ALPHA (3) -#define GU_DST_COLOR (0) -#define GU_ONE_MINUS_DST_COLOR (1) -#define GU_DST_ALPHA (4) -#define GU_ONE_MINUS_DST_ALPHA (5) -#define GU_FIX (10) +#define GU_OTHER_COLOR (0) +#define GU_ONE_MINUS_OTHER_COLOR (1) +#define GU_SRC_ALPHA (2) +#define GU_ONE_MINUS_SRC_ALPHA (3) +#define GU_DST_ALPHA (4) +#define GU_ONE_MINUS_DST_ALPHA (5) +#define GU_DOUBLE_SRC_ALPHA (6) +#define GU_ONE_MINUS_DOUBLE_SRC_ALPHA (7) +#define GU_DOUBLE_DST_ALPHA (8) +#define GU_ONE_MINUS_DOUBLE_DST_ALPHA (9) +#define GU_FIX (10) /* Note: behavior of 11-15 blend factors is identical to GU_FIX */ +#define GU_SRC_COLOR (0) /* Deprecated */ +#define GU_ONE_MINUS_SRC_COLOR (1) /* Deprecated */ +#define GU_DST_COLOR (0) /* Deprecated */ +#define GU_ONE_MINUS_DST_COLOR (1) /* Deprecated */ /* Stencil Operations */ #define GU_KEEP (0) @@ -1054,15 +1060,17 @@ void sceGuAmbientColor(unsigned int color); * - GU_ABS - |Cs-Cd| * * Available blending-functions are: - * - GU_SRC_COLOR - * - GU_ONE_MINUS_SRC_COLOR - * - GU_SRC_ALPHA - * - GU_ONE_MINUS_SRC_ALPHA - * - GU_DST_ALPHA - * - GU_ONE_MINUS_DST_ALPHA - * - GU_DST_COLOR - * - GU_ONE_MINUS_DST_COLOR - * - GU_FIX + * - GU_OTHER_COLOR - dstColor if used for source operand; srcColor if used for destination operand + * - GU_ONE_MINUS_OTHER_COLOR - 1-dstColor if used for source operand; 1-srcColor if used for destination operand + * - GU_SRC_ALPHA - srcAlpha + * - GU_ONE_MINUS_SRC_ALPHA - 1-srcAlpha + * - GU_DST_ALPHA - dstAlpha + * - GU_ONE_MINUS_DST_ALPHA - 1-dstAlpha + * - GU_DOUBLE_SRC_ALPHA - 2*srcAlpha + * - GU_ONE_MINUS_DOUBLE_SRC_ALPHA - 1-2*srcAlpha + * - GU_DOUBLE_DST_ALPHA - 2*dstAlpha + * - GU_ONE_MINUS_DOUBLE_DST_ALPHA - 1-2*dstAlpha + * - GU_FIX - srcFix if used for source operand; dstFix if used for destination operand * * @param op - Blending Operation * @param src - Blending function for source operand diff --git a/src/samples/gu/blend/blend.c b/src/samples/gu/blend/blend.c index 2968d4d6..11146fbf 100644 --- a/src/samples/gu/blend/blend.c +++ b/src/samples/gu/blend/blend.c @@ -52,7 +52,7 @@ struct BlendState states[] = { {"GU_ADD, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA", GU_ADD, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, 0, 0}, {"GU_SUBTRACT, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA", GU_SUBTRACT, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, 0, 0}, - {"GU_ALPHA_ADD, GU_SRC_COLOR, GU_DST_COLOR", GU_ADD, GU_SRC_COLOR, GU_DST_COLOR, 0, 0}, + {"GU_ALPHA_ADD, GU_OTHER_COLOR, GU_OTHER_COLOR", GU_ADD, GU_OTHER_COLOR, GU_OTHER_COLOR, 0, 0}, {"GU_ADD, GU_FIX(0x700f7f7f), GU_FIX(0x3f3f3f00)", GU_ADD, GU_FIX, GU_FIX, 0x7f007f7f, 0x3f3f3f00}, {"GU_ADD, GU_FIX(0x7f7f7f7f), GU_FIX(0x7f7f7f7f)", GU_ADD, GU_FIX, GU_FIX, 0x7f7f7f7f, 0x7f7f7f7f} };