code: def bufferData(target, data, usage):
      """Data can be numpy array or the size of data to allocate."""
      # --- gl es
      if isinstance(data, int):
          size = data
          data = ctypes.c_voidp(0)
      else:
          if (
              not data.flags["C_CONTIGUOUS"]
              or not data.flags["ALIGNED"]
          ):
              data = data.copy("C")
          data_ = data
          size = data_.nbytes
          data = data_.ctypes.data
      ()
      # --- pyopengl
      if isinstance(data, int):
          size = data
          data = None
      else:
          size = data.nbytes
      GL.glBufferData(target, size, data, usage)
  
imports: import ctypes
label_desc: Use image node_id 14 for calling a global function with example usage: bufferData(target, data, usage) without return types