docs: function WebGLRenderer(width, height, view, transparent, antialias)
  {
      var gl;
  
      this.transparent = !!transparent;
  
      this.width = width || 800;
      this.height = height || 600;
  
      this.view = view || platform.createCanvas();
      this.view.width = this.width;
      this.view.height = this.height;
  
      // deal with losing context..
      var scope = this;
      this.view.addEventListener('webglcontextlost', function(event) { scope.handleContextLost(event); }, false);
      this.view.addEventListener('webglcontextrestored', function(event) { scope.handleContextRestored(event); }, false);
  
      this.batchs = [];
  
      var options = {
          alpha: this.transparent,
          antialias:!!antialias, // SPEED UP??
          premultipliedAlpha:false,
          stencil:true
      };
  
      // do a catch.. only 1 webGL renderer..
      //try 'experimental-webgl'
      try {
          gl = this.view.getContext('experimental-webgl',  options);
      } catch (e) {
          //try 'webgl'
          try {
              gl = this.view.getContext('webgl',  options);
          } catch (e2) {
              // fail, not able to get a context
              throw new Error(' This browser does not support webGL. Try using the canvas renderer' + this);
          }
      }
      // TODO remove this global..
      this.gl = globals.gl = gl;
  
      shaders.initDefaultShaders();
  
      gl.useProgram(globals.defaultShader.program);
  
      this.batch = new WebGLBatch(gl);
      gl.disable(gl.DEPTH_TEST);
      gl.disable(gl.CULL_FACE);
  
      gl.enable(gl.BLEND);
      gl.colorMask(true, true, true, this.transparent);
  
      // TODO remove these globals..
      this.projection = globals.projection = new Point(400, 300);
      this.offset = globals.offset = new Point(0, 0);
  
      this.resize(this.width, this.height);
      this.contextLost = false;
  
      this.stageRenderGroup = new WebGLRenderGroup(this.gl, this.transparent);
  }