code: def vertexAttribPointer(indx, size, type, normalized, stride, offset):
      # --- gl es
      if offset is None:
          offset = ctypes.c_void_p(0)
      elif isinstance(offset, ctypes.c_void_p):
          pass
      elif isinstance(offset, (int, ctypes.c_int)):
          offset = ctypes.c_void_p(int(offset))
      else:
          if not offset.flags["C_CONTIGUOUS"]:
              offset = offset.copy("C")
          offset_ = offset
          offset = offset.ctypes.data
          # We need to ensure that the data exists at draw time :(
          # PyOpenGL does this too
          key = "_vert_attr_" + str(indx)
          setattr(glVertexAttribPointer, key, offset_)
      ptr = offset
      ()
      # --- pyopengl
      if offset is None:
          offset = ctypes.c_void_p(0)
      elif isinstance(offset, (int, ctypes.c_int)):
          offset = ctypes.c_void_p(int(offset))
      ()
  
imports: import ctypes
label_desc: Use image node_id 17 for calling a global function with example usage: vertexAttribPointer(indx, size, type, normalized, stride, offset) without return types