function loadShader(gl, shaderSource, shaderType, progOptions) {
  // Create the shader object
  var shader = gl.createShader(shaderType); // Load the shader source

  gl.shaderSource(shader, prepShaderSource(shaderSource).shaderSource); // Compile the shader

  gl.compileShader(shader);

  if (!progOptions.callback && !checkShaderStatus(gl, shaderType, shader, progOptions.errorCallback)) {
    gl.deleteShader(shader);
    return null;
  }

  return shader;
}
Loads a shader.
@param {WebGLRenderingContext} gl The WebGLRenderingContext to use.
@param {string} shaderSource The shader source.
@param {number} shaderType The type of shader.
@param {module:twgl.ProgramOptions} progOptions
@return {WebGLShader} The created shader.
@private