GL_KHR_blend_equation_advanced#
Supported Hardware#
Series6, Series6XE, Series6XT
Valid APIs#
OpenGL ES 2.0, 3.x
Description#
On its own OpenGL ES provides only a limited number of blend equations for users, with a number of different sources and destinations. This extension adds several additional blending equations to the API as follows:
MULTIPLY_KHR
SCREEN_KHR
OVERLAY_KHR
DARKEN_KHR
LIGHTEN_KHR
COLORDODGE_KHR
COLORBURN_KHR
HARDLIGHT_KHR
SOFTLIGHT_KHR
DIFFERENCE_KHR
EXCLUSION_KHR
HSL_HUE_KHR
HSL_SATURATION_KHR
HSL_COLOR_KHR
HSL_LUMINOSITY_KHR
The exact meaning of these is detailed in the specification itself, but those familiar with various rendering or imaging suites should recognise most of them.
To use these functions, both API functions and shader code are required to enable them. There is a layout qualifier for output variables determining the likely blend modes, and new enums for the glBlendEquation* functions. Any mismatches in the two when rendering will cause a draw-time error.
Registry Link#
http://www.khronos.org/registry/gles/extensions/KHR/blend_equation_advanced.txt
Example#
// Set the colour dodge blend equation
glBlendEquationi(GL_COLORDODGE_KHR);
Example#
// Appropriate shader code for color dodge blending
layout(location = 0, blend_support_colordodge) highp vec4 outputColour;