code: def on_draw(self, event):
      gloo.clear(color=True, depth=True)
  
      # 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.faces)
  
      # Outlined cube
      gloo.set_state(
          blend=True, depth_mask=False, polygon_offset_fill=False
      )
      self.program["u_color"] = 0, 0, 0, 1
      self.program.draw("lines", self.outline)
      gloo.set_state(depth_mask=True)
  
file_path: vispy/examples/gloo/outlined_cube.py
imports: import numpy
  from vispy import gloo, app
  from vispy.gloo import Program, VertexBuffer, IndexBuffer
  from vispy.util.transforms import perspective, translate, rotate
  from vispy.geometry import create_cube
label_desc: Use image node_id 2 for calling the Canvas obj's underlying member method code with example usage: obj.on_draw(event) without return types