关于shader的问题

我想把png图片的,rgb调换位置, 然后在shader中恢复,如下:
varying vec4 v_fragmentColor; \n
varying vec2 v_texCoord; \n
uniform sampler2D CC_Texture0; \n
\n
void main() \n
{ \n
int iTmpx; \n
int iTmpy; \n
gl_FragColor = texture2D(CC_Texture0, v_texCoord); \n
iTmpx = gl_FragColor.x;\n
iTmpy = gl_FragColor.y;\n
gl_FragColor.x = gl_FragColor.y;\n
gl_FragColor.y = gl_FragColor.z; \n
gl_FragColor.z = iTmpx; \n
gl_FragColor *= v_fragmentColor; \n
} \n
";
这样做为什么不是想要的效果?

:11::11::11::11::11:

在线等, 哪位大神帮帮忙。

vec4 color = texture2D(CC_Texture0, v_texCoord);
gl_FragColor = vec4(color.y, color.z, color.x, color.a);

问题应该出在 int iTmpx;
使用glfloat试试