code: def on_draw(self, event):
      with self.fbo:
          set_viewport(0, 0, *self.comp_size)
          self.compute["texture"].interpolation = "nearest"
          self.compute.draw("triangle_strip")
      clear(color=True)
      set_viewport(0, 0, *self.physical_size)
      self.render["texture"].interpolation = "linear"
      self.render.draw("triangle_strip")
      self.pingpong = 1 - self.pingpong
      self.compute["pingpong"] = self.pingpong
      self.render["pingpong"] = self.pingpong
  
file_path: vispy/examples/demo/gloo/grayscott.py
imports: from __future__ import division
  import numpy
  from vispy.gloo import Program, FrameBuffer, RenderBuffer, set_viewport, clear, set_state
  from vispy import app
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