getUniformLocation(name) {
    if (this.programUniformLocationCache.hasOwnProperty(name)) {
      return this.programUniformLocationCache[name];
    }
    return this.programUniformLocationCache[name] = this.context.getUniformLocation(this.program, name);
  }
@desc Return WebGlUniformLocation for various variables
related to webGl program, such as user-defined variables,
as well as, dimension sizes, etc.