docs: function TilingSprite(texture, width, height)
  {
      core.Sprite.call(this, texture);
  
      /**
       * The scaling of the image that is being tiled
       *
       * @member {Point}
       */
      this.tileScale = new core.math.Point(1,1);
  
  
      /**
       * The offset position of the image that is being tiled
       *
       * @member {Point}
       */
      this.tilePosition = new core.math.Point(0,0);
  
      ///// private
  
      /**
       * The with of the tiling sprite
       *
       * @member {number}
       * @private
       */
      this._width = width || 100;
  
      /**
       * The height of the tiling sprite
       *
       * @member {number}
       * @private
       */
      this._height = height || 100;
  
      /**
       * An internal WebGL UV cache.
       *
       * @member {TextureUvs}
       * @private
       */
      this._uvs = new core.TextureUvs();
  
      this._canvasPattern = null;
  
      //TODO move..
      this.shader = new core.AbstractFilter(
  
        [
          'precision lowp float;',
          'attribute vec2 aVertexPosition;',
          'attribute vec2 aTextureCoord;',
          'attribute vec4 aColor;',
  
          'uniform mat3 projectionMatrix;',
          
          'uniform vec4 uFrame;',
          'uniform vec4 uTransform;',
  
          'varying vec2 vTextureCoord;',
          'varying vec4 vColor;',
  
          'void main(void){',
          '   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);',
  
          '   vec2 coord = aTextureCoord;',
          '   coord -= uTransform.xy;',
          '   coord /= uTransform.zw;',
          '   coord /= uFrame.zw;',
          '   vTextureCoord = coord;',
  
          '   vColor = vec4(aColor.rgb * aColor.a, aColor.a);',
          '}'
        ].join('\n'),
        [
          'precision lowp float;',
  
          'varying vec2 vTextureCoord;',
          'varying vec4 vColor;',
  
          'uniform sampler2D uSampler;',
          'uniform vec4 uFrame;',
                  
          'void main(void){',
  
          '   vec2 coord = fract(vTextureCoord);',
          '   coord *= uFrame.zw;',
          '   coord += uFrame.xy;',
  
          '   gl_FragColor =  texture2D(uSampler, coord) * vColor ;',
          '}'
        ].join('\n'),
  
              // set the uniforms
              {
                  uFrame: { type: '4fv', value: [0,0,1,1] },
  
                  uTransform: { type: '4fv', value: [0,0,1,1] }
              }
        );
  }