|
|
@ -433,6 +433,7 @@ typedef enum { |
|
|
|
RL_BLEND_MULTIPLIED, // Blend textures multiplying colors |
|
|
|
RL_BLEND_ADD_COLORS, // Blend textures adding colors (alternative) |
|
|
|
RL_BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) |
|
|
|
RL_BLEND_ALPHA_PREMUL, // Blend premultiplied textures considering alpha |
|
|
|
RL_BLEND_CUSTOM // Blend textures using custom src/dst factors (use rlSetBlendFactors()) |
|
|
|
} rlBlendMode; |
|
|
|
|
|
|
@ -1778,10 +1779,11 @@ void rlSetBlendMode(int mode) |
|
|
|
case RL_BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; |
|
|
|
case RL_BLEND_ADD_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_ADD); break; |
|
|
|
case RL_BLEND_SUBTRACT_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_SUBTRACT); break; |
|
|
|
case RL_BLEND_CUSTOM: |
|
|
|
case RL_BLEND_ALPHA_PREMUL: glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; |
|
|
|
case RL_BLEND_CUSTOM: |
|
|
|
{ |
|
|
|
// NOTE: Using GL blend src/dst factors and GL equation configured with rlSetBlendFactors() |
|
|
|
glBlendFunc(RLGL.State.glBlendSrcFactor, RLGL.State.glBlendDstFactor); glBlendEquation(RLGL.State.glBlendEquation); |
|
|
|
glBlendFunc(RLGL.State.glBlendSrcFactor, RLGL.State.glBlendDstFactor); glBlendEquation(RLGL.State.glBlendEquation); |
|
|
|
} break; |
|
|
|
default: break; |
|
|
|
} |
|
|
@ -3911,7 +3913,7 @@ void rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned |
|
|
|
unsigned int rlLoadShaderBuffer(unsigned long long size, const void *data, int usageHint) |
|
|
|
{ |
|
|
|
unsigned int ssbo = 0; |
|
|
|
|
|
|
|
|
|
|
|
#if defined(GRAPHICS_API_OPENGL_43) |
|
|
|
glGenBuffers(1, &ssbo); |
|
|
|
glBindBuffer(GL_SHADER_STORAGE_BUFFER, ssbo); |
|
|
@ -3944,7 +3946,7 @@ void rlUpdateShaderBufferElements(unsigned int id, const void *data, unsigned lo |
|
|
|
unsigned long long rlGetShaderBufferSize(unsigned int id) |
|
|
|
{ |
|
|
|
long long size = 0; |
|
|
|
|
|
|
|
|
|
|
|
#if defined(GRAPHICS_API_OPENGL_43) |
|
|
|
glBindBuffer(GL_SHADER_STORAGE_BUFFER, id); |
|
|
|
glGetInteger64v(GL_SHADER_STORAGE_BUFFER_SIZE, &size); |
|
|
|