added BLEND_SET

This commit is contained in:
RandomErrorMessage 2020-05-16 01:25:14 -07:00
parent abb94bd2ff
commit 6b21438ce8
2 changed files with 7 additions and 4 deletions

View File

@ -806,7 +806,8 @@ typedef enum {
typedef enum { typedef enum {
BLEND_ALPHA = 0, // Blend textures considering alpha (default) BLEND_ALPHA = 0, // Blend textures considering alpha (default)
BLEND_ADDITIVE, // Blend textures adding colors BLEND_ADDITIVE, // Blend textures adding colors
BLEND_MULTIPLIED // Blend textures multiplying colors BLEND_MULTIPLIED, // Blend textures multiplying colors
BLEND_SET // Blend textures by setting colors
} BlendMode; } BlendMode;
// Gestures type // Gestures type

View File

@ -382,7 +382,8 @@ typedef unsigned char byte;
typedef enum { typedef enum {
BLEND_ALPHA = 0, BLEND_ALPHA = 0,
BLEND_ADDITIVE, BLEND_ADDITIVE,
BLEND_MULTIPLIED BLEND_MULTIPLIED,
BLEND_SET
} BlendMode; } BlendMode;
// Shader location point type // Shader location point type
@ -3558,15 +3559,16 @@ void BeginBlendMode(int mode)
{ {
static int blendMode = 0; // Track current blending mode static int blendMode = 0; // Track current blending mode
if ((blendMode != mode) && (mode < 3)) if ((blendMode != mode) && (mode < 4))
{ {
rlglDraw(); rlglDraw();
switch (mode) switch (mode)
{ {
case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; 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_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); break;
case BLEND_SET: glBlendFunc(GL_ONE, GL_ONE); break;
default: break; default: break;
} }