 this machine.' );
            }

            gl.compileProgram = function( vertShaderSource, fragShaderSource, uniforms, attributes )
            {
                const program = WebGL2.createProgram( gl, vertShaderSource, fragShaderSource );

                uniforms = Object.assign( {
                    dimLocation: 'u_dimensions',
                    imgLocation: 'u_image'
                }, uniforms );

                attributes = Object.assign( {
                    posLocation: 'a_position',
     