Merge pull request #84 from Daverball/hue-shader-fix

hue shader turns pure white pixels black on some GPUs.
This commit is contained in:
Jonas Kulla 2014-12-31 16:12:08 +01:00
commit d18e3e6a53
1 changed files with 6 additions and 2 deletions

View File

@ -29,7 +29,11 @@ void main ()
/* Make the user's adjustments */ /* Make the user's adjustments */
hue += hueAdjust; hue += hueAdjust;
// Convert back to YIQ /* Remember old I and color */
float IOriginal = I;
vec4 coOriginal = color;
/* Convert back to YIQ */
Q = chroma * sin (hue); Q = chroma * sin (hue);
I = chroma * cos (hue); I = chroma * cos (hue);
@ -40,5 +44,5 @@ void main ()
color.b = dot (yIQ, kYIQToB); color.b = dot (yIQ, kYIQToB);
/* Save the result */ /* Save the result */
gl_FragColor = color; gl_FragColor = (IOriginal == 0.0) ? coOriginal : color;
} }