Browse Source

Avoid early return calls

Ray 2 years ago
parent
commit
25d846aa9a
1 changed files with 29 additions and 27 deletions
  1. 29 27
      src/rlgl.h

+ 29 - 27
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
 }