function perspective(fieldOfViewInRadians, width, height, near, far) {
  var f = Math.tan(Math.PI * 0.5 - 0.5 * fieldOfViewInRadians);
  var rangeInv = 1.0 / (near - far);
  return [f / (width / height), 0, 0, 0, 0, f, 0, 0, 0, 0, (near + far) * rangeInv, -1, 0, 0, near * far * rangeInv * 2, 0];
}
/**
 * Setting this matrix as perspective projection matrix.
 * @param fieldOfViewInRadians fieldOfView of camera.
 * @param width canvas width.
 * @param height canvas height.
 * @param near range of drawn z-coordinates start.
 * @param far range of drawn z-coordinates end.
 * @public
 */
Setting this matrix as perspective projection matrix.
Setting this matrix as perspective projection matrix .
function perspective(fieldOfViewInRadians, width, height, near, far) {
  var f = Math.tan(Math.PI * 0.5 - 0.5 * fieldOfViewInRadians);
  var rangeInv = 1.0 / (near - far);
  return [f / (width / height), 0, 0, 0, 0, f, 0, 0, 0, 0, (near + far) * rangeInv, -1, 0, 0, near * far * rangeInv * 2, 0];
}
function perspective ( fieldOfViewInRadians , width , height , near , far ) { var f = Math . tan ( Math . PI * 0.5 - 0.5 * fieldOfViewInRadians ) ; var rangeInv = 1.0 / ( near - far ) ; return [ f / ( width / height ) , 0 , 0 , 0 , 0 , f , 0 , 0 , 0 , 0 , ( near + far ) * rangeInv , - 1 , 0 , 0 , near * far * rangeInv * 2 , 0 ] ; }
Setting this matrix as perspective projection matrix.
Setting this matrix as perspective projection matrix .