 uniform bool m_EffectPulse;
 uniform bool m_EffectPulseColor;
 uniform bool m_EffectSaturate;
+uniform bool m_EffectImageSwap;
+uniform bool m_UseEffectTexCoords;
 uniform float m_EffectStep;
 uniform float m_GlobalAlpha;
 

				float intensity = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b);
				color = mix(color, vec4(intensity,intensity,intensity,color.a), m_EffectStep);
			} else {
			//	vec4 mixColor;
			//	mixColor = texture2D(m_EffectMap, texCoord1);
			//	color.rgb = altMix(color.rgb, mixColor.rgb, 1.0);
				color = mix(color, texture2D(m_EffectMap, texCoord1), 1.0);
			}
		}
	#endif

	vec4 color = vec4(1.0);
	
	#ifdef HAS_COLORMAP
		if (m_EffectImageSwap) {
			color *= texture2D(m_ColorMap, texCoord2);
		} else {
			color *= texture2D(m_ColorMap, texCoord1);
		}
		
		if (m_UseEffect) {
			if (m_EffectPulse) {
				color = mix(color, texture2D(m_EffectMap, texCoord2), m_EffectStep);
			} else if (m_EffectFade) {
				color.a *= m_EffectStep;
			} else if (m_EffectPulseColor) {
