1 INPUT mediump vec2 vTexCoord;
3 uniform sampler2D sTexture;
4 uniform mediump vec4 uAtlasRect;
6 // WrapMode -- 0: CLAMP; 1: REPEAT; 2: REFLECT;
7 uniform lowp vec2 wrapMode;
9 uniform lowp vec4 uColor;
10 uniform lowp vec3 mixColor;
11 uniform lowp float preMultipliedAlpha;
12 mediump float wrapCoordinate( mediump vec2 range, mediump float coordinate, lowp float wrap )
16 if( wrap > 1.5 )\n // REFLECT
17 coord = 1.0-abs(fract(coordinate*0.5)*2.0 - 1.0);
18 else \n// warp == 0 or 1
19 coord = mix(coordinate, fract( coordinate ), wrap);
20 return clamp( mix(range.x, range.y, coord), range.x, range.y );
25 mediump vec2 texCoord = vec2( wrapCoordinate( uAtlasRect.xz, vTexCoord.x, wrapMode.x ),
26 wrapCoordinate( uAtlasRect.yw, vTexCoord.y, wrapMode.y ) );
27 OUT_COLOR = TEXTURE( sTexture, texCoord ) * uColor * vec4( mixColor, 1.0 );