步骤1.
准备 shaders文件- ccShad_Hsl.h
" \n\
#ifdef GL_ES \n\
precision mediump float; \n\
#endif \n\
\n\
varying vec2 v_texCoord; \n\
uniform sampler2D CC_Texture0; \n\
\n\
uniform float AddHue; \n\
uniform float AddSat; \n\
uniform float AddLig; \n\
uniform float AddRed; \n\
uniform float AddGreen; \n\
uniform float AddBlue; \n\
uniform float AddAlpha; \n\
\n\
float Hue_2_RGB(float v1, float v2, float vH ) \n\
{
\n\
float ret;\n\
if ( vH < 0.0 )\n\
vH += 1.0;\n\
if ( vH > 1.0 )\n\
vH -= 1.0;\n\
if ( ( 6.0 * vH ) < 1.0 )\n\
ret = ( v1 + ( v2 - v1 ) * 6.0 * vH );\n\
else if ( ( 2.0 * vH ) < 1.0 )\n\
ret = ( v2 );\n\
else if ( ( 3.0 * vH ) < 2.0 )\n\
ret = ( v1 + ( v2 - v1 ) * ( ( 2.0 / 3.0 ) - vH ) * 6.0 );\n\
else\n\
ret = v1;\n\
return ret;\n\
}\n\
\n\
void main(void)\n\
{\n\
float Cmax, Cmin;\n\
\n\
float D;\n\
\n\
float H, S, L;\n\
float R, G, B;\n\
\n\
vec4 color = texture2D(CC_Texture0, v_texCoord);\n\
\n\
R = color.r;\n\
G = color.g;\n\
B = color.b;\n\
Cmax = max (R, max (G, B));\n\
Cmin = min (R, min (G, B));\n\
L = (Cmax + Cmin) / 2.0;\n\
\n\
if (Cmax == Cmin