code: def _update_projection_matrix(self):
          
  
          # replace gluPerspective (https://www.opengl.org/sdk/docs/man2/xhtml/gluPerspective.xml)
          ff = 1./np.tan(np.radians(self.fov_y / 2.)) # cotangent(fovy/2)
          zn, zf = self.z_near, self.z_far
  
          persp_mat =  np.array([[ff/self.aspect,    0.,              0.,                 0.],
                                [             0.,    ff,              0.,                 0.],
                                [             0.,    0., (zf+zn)/(zn-zf), (2.*zf*zn)/(zn-zf)],
                                [             0.,    0.,             -1.,                 0.]], dtype=np.float32)
  
          self.projection_matrix[:] = np.dot(persp_mat, self._get_shift_matrix())
docs: np.array: The Camera's Projection Matrix.  Will be an Orthographic matrix if ortho_mode is set to True.