code: def on_draw(self, event):
      gloo.clear()
  
      # Filled cube
  
      gloo.set_state(
          blend=False, depth_test=True, polygon_offset_fill=True
      )
      self.program["u_color"] = 1, 1, 1, 1
      self.program.draw("triangles", self.filled_buf)
  
      # Outline
      gloo.set_state(
          blend=True, depth_test=True, polygon_offset_fill=False
      )
      gloo.set_depth_mask(False)
      self.program["u_color"] = 0, 0, 0, 1
      self.program.draw("lines", self.outline_buf)
      gloo.set_depth_mask(True)
  
file_path: vispy/examples/gloo/rotate_cube.py
imports: import numpy
  from vispy import app, gloo
  from vispy.util.transforms import perspective, translate, rotate
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