setDefaultOptions() {
    BaseSprite.prototype.setDefaultOptions.call(this);

    // set default shader as pos/tex/color
    // cocos sets default shader to pos/color for sprites without textures
    // but this sprite will always use an instanced texture
    const shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURECOLOR);
    this.setShaderProgram(shaderProgram);
  }
*************************************************************************
 InstancedSprite
 var InstancedSprite = BaseSprite
 InstancedSprite.create()
 - this sprite is pooled, so that it may be reused with better performance
 - this sprite is instanced, so all instances of it will use the same (dynamic) texture but may be different sizes
 - use sprite.setTextureRect(cc.rect(x, y, w, h)) to define the size of the sprite
 - override this sprite's renderCmd.renderingForInstancing to setup rendering of the instanced texture
**************************************************************************