code: def draw(self):
          
          if not self.vao:
              self.vao = VAO(indices=self.array_indices)
              self._fill_vao()
  
          if self.visible:
              if self.dynamic:
                  for vbo in self.vbos:
                      vbo._buffer_subdata()
  
              if self.drawmode == gl.GL_POINTS:
                  gl.glPointSize(self.point_size)
  
              for texture in self.textures:
                  texture.bind()
  
              with self.vao as vao:
                  self.uniforms.send()
                  vao.draw(mode=self.drawmode)
  
              for texture in self.textures:
                  texture.unbind()
docs: Draw the Mesh if it's visible, from the perspective of the camera and lit by the light. The function sends the uniforms