docs: function AbstractFilter(vertexSrc, fragmentSrc, uniforms)
  {
  
      /**
       * An array of shaders
       * @member {Shader[]}
       * @private
       */
      this.shaders = [];
  
      /**
       * The extra padding that the filter might need
       * @member {number}
       */
      this.padding = 0;
  
      /**
       * The uniforms as an object
       * @member {object}
       * @private
       */
      this.uniforms = uniforms || {};
  
  
      /**
       * The code of the vertex shader
       * @member {string[]}
       * @private
       */
      this.vertexSrc = vertexSrc || DefaultShader.defaultVertexSrc;
  
      /**
       * The code of the frament shader
       * @member {string[]}
       * @private
       */
      this.fragmentSrc = fragmentSrc || DefaultShader.defaultFragmentSrc;
  
      //TODO a reminder - would be cool to have lower res filters as this would give better performance.
  
      //typeof fragmentSrc === 'string' ? fragmentSrc.split('') : (fragmentSrc || []);
  
  }