|
|
@ -1832,41 +1832,43 @@ void rlSetBlendMode(int mode) |
|
|
#endif |
|
|
#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 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 |
|
|
#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 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 |
|
|
#endif |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|