code: def makecube():
      """Generate vertices & indices for a filled cube"""
  
      vtype = [
          ("a_position", np.float32, 3),
          ("a_texcoord", np.float32, 2),
      ]
      itype = np.uint32
  
      # Vertices positions
      p = np.array(
          [
              [1, 1, 1],
              [-1, 1, 1],
              [-1, -1, 1],
              [1, -1, 1],
              [1, -1, -1],
              [1, 1, -1],
              [-1, 1, -1],
              [-1, -1, -1],
          ]
      )
  
      # Texture coords
      t = np.array([[0, 0], [0, 1], [1, 1], [1, 0]])
  
      faces_p = [
          0,
          1,
          2,
          3,
          0,
          3,
          4,
          5,
          0,
          5,
          6,
          1,
          1,
          6,
          7,
          2,
          7,
          4,
          3,
          2,
          4,
          7,
          6,
          5,
      ]
      faces_t = [
          0,
          1,
          2,
          3,
          0,
          1,
          2,
          3,
          0,
          1,
          2,
          3,
          0,
          1,
          2,
          3,
          0,
          1,
          2,
          3,
          0,
          1,
          2,
          3,
      ]
  
      vertices = np.zeros(24, vtype)
      vertices["a_position"] = p[faces_p]
      vertices["a_texcoord"] = t[faces_t]
  
      indices = np.resize(
          np.array([0, 1, 2, 0, 2, 3], dtype=itype), 6 * (2 * 3)
      )
      indices += np.repeat(4 * np.arange(6), 6).astype(np.uint32)
  
      return vertices, indices
  
file_path: vispy/examples/gloo/gl/cube.py
imports: import math
  import numpy
  from vispy import app
  from vispy.gloo import gl
label_desc: Use image node_id 6 for calling a global function with example usage: makecube() and returns: vertices,  indices