code: def on_draw(self, event):
      # update the galaxy
      galaxy.update(50000)  # in years !
  
      # recreate the numpy array that will be sent as the VBO data
      data = self.__create_galaxy_vertex_data()
      # update the VBO
      self.data_vbo.set_data(data)
      # bind the VBO to the GL context
      self.program.bind(self.data_vbo)
  
      # clear the screen and render
      gloo.clear(color=True, depth=True)
      self.program.draw("points")
  
file_path: vispy/examples/demo/gloo/galaxy/galaxy.py
imports: import numpy
  import sys
  from vispy.util.transforms import perspective
  from vispy.util import transforms
  from vispy import gloo
  from vispy import app
  from vispy import io
  import galaxy_specrend
  from galaxy_simulation import Galaxy
label_desc: Use image node_id 4 for calling the Canvas obj's underlying member method code with example usage: obj.on_draw(event) without return types