class_docstr: A class holding OpenGL machinery used by MeshRasterizerOpenGL.
class_docstr_tok: ["A","class","holding","OpenGL","machinery","used","by","MeshRasterizerOpenGL","."]
code: def __init__(
      self,
      max_faces: int = 10_000_000,
  ) -> None:
      self.max_faces = max_faces
      self.program = None
  
      # These will be created on an appropriate GPU each time we render a new mesh on
      # that GPU for the first time.
      self.egl_context = None
      self.cuda_context = None
      self.perspective_projection_uniform = None
      self.mesh_buffer_object = None
      self.vao = None
      self.fbo = None
      self.cuda_buffer = None
  
imports: import warnings
  from typing import Optional, Tuple, Union
  import numpy
  import OpenGL.GL
  import pycuda.gl
  import torch
  import torch.nn
  from pytorch3d.structures.meshes import Meshes
  from ..cameras import FoVOrthographicCameras, FoVPerspectiveCameras
  from ..mesh.rasterizer import Fragments, RasterizationSettings
  from ..utils import parse_image_size
  from .opengl_utils import _torch_to_opengl, global_device_context_store
label_desc: Use image node_id 1 to create a new _OpenGLMachinery object  with example: obj = _OpenGLMachinery(max_faces)