code: function makePerspective(fovy, aspect, znear, zfar)
  {
      var ymax = znear * Math.tan(fovy * Math.PI / 360.0);
      var ymin = -ymax;
      var xmin = ymin * aspect;
      var xmax = ymax * aspect;
  
      return makeFrustum(xmin, xmax, ymin, ymax, znear, zfar);
  }
docs: gluPerspective