mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Remove colour swizzle to fix inverted colour bug on Samsung phones
This commit is contained in:
parent
6d38e890f7
commit
ad3c04cdac
1 changed files with 12 additions and 20 deletions
|
|
@ -453,12 +453,6 @@ public:
|
|||
{}
|
||||
};
|
||||
|
||||
#if JUCE_ANDROID
|
||||
#define JUCE_DECLARE_SWIZZLE_FUNCTION "\n" JUCE_MEDIUMP " vec4 swizzleRGBOrder (in " JUCE_MEDIUMP " vec4 c) { return vec4 (c.b, c.g, c.r, c.a); }\n"
|
||||
#else
|
||||
#define JUCE_DECLARE_SWIZZLE_FUNCTION "\n" JUCE_MEDIUMP " vec4 swizzleRGBOrder (in " JUCE_MEDIUMP " vec4 c) { return c; }\n"
|
||||
#endif
|
||||
|
||||
#define JUCE_DECLARE_MASK_UNIFORMS "uniform sampler2D maskTexture;" \
|
||||
"uniform ivec4 maskBounds;"
|
||||
#define JUCE_FRAGCOORD_TO_MASK_POS "vec2 ((pixelPos.x - float (maskBounds.x)) / float (maskBounds.z)," \
|
||||
|
|
@ -503,13 +497,13 @@ public:
|
|||
#define JUCE_DECLARE_RADIAL_UNIFORMS "uniform sampler2D gradientTexture;" JUCE_DECLARE_MATRIX_UNIFORM
|
||||
#define JUCE_MATRIX_TIMES_FRAGCOORD "(mat2 (matrix[0], matrix[3], matrix[1], matrix[4]) * pixelPos" \
|
||||
" + vec2 (matrix[2], matrix[5]))"
|
||||
#define JUCE_GET_TEXTURE_COLOUR "(frontColour.a * swizzleRGBOrder (texture2D (gradientTexture, vec2 (gradientPos, 0.5))))"
|
||||
#define JUCE_GET_TEXTURE_COLOUR "(frontColour.a * texture2D (gradientTexture, vec2 (gradientPos, 0.5)))"
|
||||
|
||||
struct RadialGradientProgram : public ShaderBase
|
||||
{
|
||||
RadialGradientProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_VARYING_PIXELPOS
|
||||
JUCE_DECLARE_RADIAL_UNIFORMS JUCE_DECLARE_VARYING_COLOUR JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
JUCE_DECLARE_RADIAL_UNIFORMS JUCE_DECLARE_VARYING_COLOUR
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_MEDIUMP " float gradientPos = length (" JUCE_MATRIX_TIMES_FRAGCOORD ");"
|
||||
|
|
@ -526,7 +520,7 @@ public:
|
|||
RadialGradientMaskedProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_VARYING_PIXELPOS
|
||||
JUCE_DECLARE_RADIAL_UNIFORMS JUCE_DECLARE_VARYING_COLOUR
|
||||
JUCE_DECLARE_MASK_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
JUCE_DECLARE_MASK_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_MEDIUMP " float gradientPos = length (" JUCE_MATRIX_TIMES_FRAGCOORD ");"
|
||||
|
|
@ -561,7 +555,6 @@ public:
|
|||
{
|
||||
LinearGradient1Program (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_LINEAR_UNIFORMS // gradientInfo: x = x1, y = y1, z = (y2 - y1) / (x2 - x1), w = length
|
||||
JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_CALC_LINEAR_GRAD_POS1
|
||||
|
|
@ -577,7 +570,7 @@ public:
|
|||
{
|
||||
LinearGradient1MaskedProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_LINEAR_UNIFORMS // gradientInfo: x = x1, y = y1, z = (y2 - y1) / (x2 - x1), w = length
|
||||
JUCE_DECLARE_MASK_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
JUCE_DECLARE_MASK_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_CALC_LINEAR_GRAD_POS1
|
||||
|
|
@ -595,7 +588,6 @@ public:
|
|||
{
|
||||
LinearGradient2Program (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_LINEAR_UNIFORMS // gradientInfo: x = x1, y = y1, z = (x2 - x1) / (y2 - y1), y = y1, w = length
|
||||
JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_CALC_LINEAR_GRAD_POS2
|
||||
|
|
@ -611,7 +603,7 @@ public:
|
|||
{
|
||||
LinearGradient2MaskedProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_LINEAR_UNIFORMS // gradientInfo: x = x1, y = y1, z = (x2 - x1) / (y2 - y1), y = y1, w = length
|
||||
JUCE_DECLARE_MASK_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
JUCE_DECLARE_MASK_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_CALC_LINEAR_GRAD_POS2
|
||||
|
|
@ -672,14 +664,14 @@ public:
|
|||
#define JUCE_DECLARE_IMAGE_UNIFORMS "uniform sampler2D imageTexture;" \
|
||||
"uniform " JUCE_MEDIUMP " vec2 imageLimits;" \
|
||||
JUCE_DECLARE_MATRIX_UNIFORM JUCE_DECLARE_VARYING_COLOUR JUCE_DECLARE_VARYING_PIXELPOS
|
||||
#define JUCE_GET_IMAGE_PIXEL "swizzleRGBOrder (texture2D (imageTexture, vec2 (texturePos.x, 1.0 - texturePos.y)))"
|
||||
#define JUCE_GET_IMAGE_PIXEL "texture2D (imageTexture, vec2 (texturePos.x, 1.0 - texturePos.y))"
|
||||
#define JUCE_CLAMP_TEXTURE_COORD JUCE_HIGHP " vec2 texturePos = clamp (" JUCE_MATRIX_TIMES_FRAGCOORD ", vec2 (0, 0), imageLimits);"
|
||||
#define JUCE_MOD_TEXTURE_COORD JUCE_HIGHP " vec2 texturePos = mod (" JUCE_MATRIX_TIMES_FRAGCOORD ", imageLimits);"
|
||||
|
||||
struct ImageProgram : public ShaderBase
|
||||
{
|
||||
ImageProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_VARYING_COLOUR JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_VARYING_COLOUR
|
||||
"uniform sampler2D imageTexture;"
|
||||
"varying " JUCE_HIGHP " vec2 texturePos;"
|
||||
"void main()"
|
||||
|
|
@ -711,7 +703,7 @@ public:
|
|||
struct ImageMaskedProgram : public ShaderBase
|
||||
{
|
||||
ImageMaskedProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_MASK_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_MASK_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_CLAMP_TEXTURE_COORD
|
||||
|
|
@ -728,7 +720,7 @@ public:
|
|||
struct TiledImageProgram : public ShaderBase
|
||||
{
|
||||
TiledImageProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_MOD_TEXTURE_COORD
|
||||
|
|
@ -743,7 +735,7 @@ public:
|
|||
struct TiledImageMaskedProgram : public ShaderBase
|
||||
{
|
||||
TiledImageMaskedProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_MASK_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_MASK_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_MOD_TEXTURE_COORD
|
||||
|
|
@ -760,7 +752,7 @@ public:
|
|||
struct CopyTextureProgram : public ShaderBase
|
||||
{
|
||||
CopyTextureProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_MOD_TEXTURE_COORD
|
||||
|
|
@ -775,7 +767,7 @@ public:
|
|||
struct MaskTextureProgram : public ShaderBase
|
||||
{
|
||||
MaskTextureProgram (OpenGLContext& context)
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS JUCE_DECLARE_SWIZZLE_FUNCTION
|
||||
: ShaderBase (context, JUCE_DECLARE_IMAGE_UNIFORMS
|
||||
"void main()"
|
||||
"{"
|
||||
JUCE_HIGHP " vec2 texturePos = " JUCE_MATRIX_TIMES_FRAGCOORD ";"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue