code: function (left, right, bottom, top, near, far, dest) {
  			if(!dest) { dest = mat4.create(); }
  			var rl = (right - left),
  				tb = (top - bottom),
  				fn = (far - near);
  			dest[0] = (near*2) / rl;
  			dest[1] = 0;
  			dest[2] = 0;
  			dest[3] = 0;
  			dest[4] = 0;
  			dest[5] = (near*2) / tb;
  			dest[6] = 0;
  			dest[7] = 0;
  			dest[8] = (right + left) / rl;
  			dest[9] = (top + bottom) / tb;
  			dest[10] = -(far + near) / fn;
  			dest[11] = -1;
  			dest[12] = 0;
  			dest[13] = 0;
  			dest[14] = -(far*near*2) / fn;
  			dest[15] = 0;
  			return dest;
  		}
docs: /*
  mat4.frustum
  Generates a frustum matrix with the given bounds
  
  Params:
  left, right - scalar, left and right bounds of the frustum
  bottom, top - scalar, bottom and top bounds of the frustum
  near, far - scalar, near and far bounds of the frustum
  dest - Optional, mat4 frustum matrix will be written into
  
  Returns:
  dest if specified, a new mat4 otherwise