From d9a96c4ca0481d9607276c77bc7c799edcbb74d5 Mon Sep 17 00:00:00 2001 From: Random <35673979+RandomErrorMessage@users.noreply.github.com> Date: Sat, 16 May 2020 04:39:38 -0700 Subject: [PATCH] added BLEND_SET (#1251) * added BLEND_SET * renamed BLEND_SET to BLEND_ADD_COLORS --- src/raylib.h | 3 ++- src/rlgl.h | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index d75855d09..490755e9c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -806,7 +806,8 @@ typedef enum { typedef enum { BLEND_ALPHA = 0, // Blend textures considering alpha (default) BLEND_ADDITIVE, // Blend textures adding colors - BLEND_MULTIPLIED // Blend textures multiplying colors + BLEND_MULTIPLIED, // Blend textures multiplying colors + BLEND_ADD_COLORS // Blend textures adding colors (alternative) } BlendMode; // Gestures type diff --git a/src/rlgl.h b/src/rlgl.h index acf2270d2..8f4883ecc 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -382,7 +382,8 @@ typedef unsigned char byte; typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, - BLEND_MULTIPLIED + BLEND_MULTIPLIED, + BLEND_ADD_COLORS } BlendMode; // Shader location point type @@ -3558,15 +3559,16 @@ void BeginBlendMode(int mode) { static int blendMode = 0; // Track current blending mode - if ((blendMode != mode) && (mode < 3)) + if ((blendMode != mode) && (mode < 4)) { rlglDraw(); switch (mode) { case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; - case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; // Alternative: glBlendFunc(GL_ONE, GL_ONE); + case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); break; + case BLEND_ADD_COLORS: glBlendFunc(GL_ONE, GL_ONE); break; default: break; }