code: function (gl) {
              var vertexShaderSource =
                      'attribute vec4 vertexPoint;\n' +
                      'uniform mat4 mvpMatrix;\n' +
                      'void main() {gl_Position = mvpMatrix * vertexPoint;}',
                  fragmentShaderSource =
                      'precision mediump float;\n' +
                      'uniform vec4 color;\n' +
                      'void main() {gl_FragColor = color;}';
  
              // Call to the superclass, which performs shader program compiling and linking.
              GpuProgram.call(this, gl, vertexShaderSource, fragmentShaderSource);
  
              /**
               * The WebGL location for this program's 'vertexPoint' attribute.
               * @type {Number}
               * @readonly
               */
              this.vertexPointLocation = this.attributeLocation(gl, "vertexPoint");
  
              /**
               * The WebGL location for this program's 'mvpMatrix' uniform.
               * @type {WebGLUniformLocation}
               * @readonly
               */
              this.mvpMatrixLocation = this.uniformLocation(gl, "mvpMatrix");
  
              /**
               * The WebGL location for this program's 'color' uniform.
               * @type {WebGLUniformLocation}
               * @readonly
               */
              this.colorLocation = this.uniformLocation(gl, "color");
          }
docs: Constructs a new program.
  Initializes, compiles and links this GLSL program with the source code for its vertex and fragment shaders.
  <p>
  This method creates WebGL shaders for the program's shader sources and attaches them to a new GLSL program. This
  method then compiles the shaders and then links the program if compilation is successful. Use the bind method to make the
  program current during rendering.
  
  @alias BasicProgram
  @constructor
  @augments GpuProgram
  @classdesc BasicProgram is a GLSL program that draws geometry in a solid color.
  @param {WebGLRenderingContext} gl The current WebGL context.
  @throws {ArgumentError} If the shaders cannot be compiled, or linking of
  the compiled shaders into a program fails.