code: def on_draw(self, event):
      with self.framebuffer:
          set_viewport(0, 0, 512, 512)
          clear(color=True, depth=True)
          set_state(depth_test=True)
          self.cube.draw("triangles", self.indices)
      set_viewport(0, 0, *self.physical_size)
      clear(color=True)
      set_state(depth_test=False)
      self.quad.draw("triangle_strip")
  
file_path: vispy/examples/gloo/post_processing.py
imports: import numpy
  from vispy import app
  from vispy.geometry import create_cube
  from vispy.util.transforms import perspective, translate, rotate
  from vispy.gloo import Program, VertexBuffer, IndexBuffer, Texture2D, clear, FrameBuffer, RenderBuffer, set_viewport, set_state
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