code: public static final Mat4 frustum(final float left, final float right, final float bottom, final float top, final float nearVal, final float farVal) {
  		final float m00 = (2f * nearVal) / (right - left);
  		final float m11 = (2f * nearVal) / (top - bottom);
  		final float m20 = (right + left) / (right - left);
  		final float m21 = (top + bottom) / (top - bottom);
  		final float m22 = -(farVal + nearVal) / (farVal - nearVal);
  		final float m23 = -1f;
  		final float m32 = -(2f * farVal * nearVal) / (farVal - nearVal);
  		
  		return new Mat4(
  				m00, 0f, 0f, 0f, 
  				0f, m11, 0f, 0f, 
  				m20, m21, m22, m23, 
  				0f, 0f, m32, 0f
  		);
  	}
docs: Creates a perspective projection matrix (frustum) using explicit
  values for all clipping planes.  This method is analogous to the now
  deprecated {@code glFrustum} method.
  
  @param left left vertical clipping plane
  @param right right vertical clipping plane
  @param bottom bottom horizontal clipping plane
  @param top top horizontal clipping plane
  @param nearVal distance to the near depth clipping plane (must be positive)
  @param farVal distance to the far depth clipping plane (must be positive)
  @return