code: def _bind_attrib(self, i, arr):
      if arr is None:
          yield
          return
      arr = np.ascontiguousarray(arr, np.float32)
      coord_n = arr.shape[-1]
      gl.glEnableVertexAttribArray(i)
      gl.glVertexAttribPointer(
          i, coord_n, gl.GL_FLOAT, gl.GL_FALSE, 0, arr
      )
      yield
      gl.glDisableVertexAttribArray(i)
  
imports: from contextlib import contextmanager
  import numpy
  import OpenGL.GL
  from .meshutil import perspective
label_desc: Use image node_id 2 for calling the MeshRenderer obj's underlying member method code with example usage: obj._bind_attrib(i, arr) without return types