summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rlgl.h56
1 files changed, 29 insertions, 27 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index 32620487..455330c7 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -1832,41 +1832,43 @@ void rlSetBlendMode(int mode)
#endif
}
-// Set blending mode factor and equation used by glBlendFuncSeparate and glBlendEquationSeparate
-void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha)
+// Set blending mode factor and equation
+void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
- if ((RLGL.State.glBlendSrcFactorRGB == glSrcRGB) &&
- (RLGL.State.glBlendDestFactorRGB == glDstRGB) &&
- (RLGL.State.glBlendSrcFactorAlpha == glSrcAlpha) &&
- (RLGL.State.glBlendDestFactorAlpha == glDstAlpha) &&
- (RLGL.State.glBlendEquationRGB == glEqRGB) &&
- (RLGL.State.glBlendEquationAlpha == glEqAlpha)) return;
+ if ((RLGL.State.glBlendSrcFactor != glSrcFactor) ||
+ (RLGL.State.glBlendDstFactor != glDstFactor) ||
+ (RLGL.State.glBlendEquation != glEquation))
+ {
+ RLGL.State.glBlendSrcFactor = glSrcFactor;
+ RLGL.State.glBlendDstFactor = glDstFactor;
+ RLGL.State.glBlendEquation = glEquation;
- RLGL.State.glBlendSrcFactorRGB = glSrcRGB;
- RLGL.State.glBlendDestFactorRGB = glDstRGB;
- RLGL.State.glBlendSrcFactorAlpha = glSrcAlpha;
- RLGL.State.glBlendDestFactorAlpha = glDstAlpha;
- RLGL.State.glBlendEquationRGB = glEqRGB;
- RLGL.State.glBlendEquationAlpha = glEqAlpha;
-
- RLGL.State.glCustomBlendModeModified = true;
+ RLGL.State.glCustomBlendModeModified = true;
+ }
#endif
}
-// Set blending mode factor and equation
-void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation)
+// Set blending mode factor and equation separately for RGB and alpha
+void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
- if ((RLGL.State.glBlendSrcFactor == glSrcFactor) &&
- (RLGL.State.glBlendDstFactor == glDstFactor) &&
- (RLGL.State.glBlendEquation == glEquation)) return;
-
- RLGL.State.glBlendSrcFactor = glSrcFactor;
- RLGL.State.glBlendDstFactor = glDstFactor;
- RLGL.State.glBlendEquation = glEquation;
-
- RLGL.State.glCustomBlendModeModified = true;
+ if ((RLGL.State.glBlendSrcFactorRGB != glSrcRGB) ||
+ (RLGL.State.glBlendDestFactorRGB != glDstRGB) ||
+ (RLGL.State.glBlendSrcFactorAlpha != glSrcAlpha) ||
+ (RLGL.State.glBlendDestFactorAlpha != glDstAlpha) ||
+ (RLGL.State.glBlendEquationRGB != glEqRGB) ||
+ (RLGL.State.glBlendEquationAlpha != glEqAlpha))
+ {
+ RLGL.State.glBlendSrcFactorRGB = glSrcRGB;
+ RLGL.State.glBlendDestFactorRGB = glDstRGB;
+ RLGL.State.glBlendSrcFactorAlpha = glSrcAlpha;
+ RLGL.State.glBlendDestFactorAlpha = glDstAlpha;
+ RLGL.State.glBlendEquationRGB = glEqRGB;
+ RLGL.State.glBlendEquationAlpha = glEqAlpha;
+
+ RLGL.State.glCustomBlendModeModified = true;
+ }
#endif
}