code: def __init__(self):
      self.program_seed = Program(vert_seed, frag_seed)
      self.program_flood = Program(vert, frag_flood)
      self.program_insert = Program(vert, frag_insert)
      self.programs = [
          self.program_seed,
          self.program_flood,
          self.program_insert,
      ]
  
      # Initialize variables
      self.fbo_to = [FrameBuffer(), FrameBuffer(), FrameBuffer()]
      vtype = np.dtype(
          [("a_position", np.float32, 2), ("a_texcoord", np.float32, 2)]
      )
      vertices = np.zeros(4, dtype=vtype)
      vertices["a_position"] = [
          [-1.0, -1.0],
          [-1.0, 1.0],
          [1.0, -1.0],
          [1.0, 1.0],
      ]
      vertices["a_texcoord"] = [
          [0.0, 0.0],
          [0.0, 1.0],
          [1.0, 0.0],
          [1.0, 1.0],
      ]
      vertices = VertexBuffer(vertices)
      self.program_insert["u_step"] = 1.0
      for program in self.programs:
          program.bind(vertices)
  
imports: import numpy
  from ...gloo import Program, FrameBuffer, VertexBuffer, Texture2D, set_viewport, set_state
label_desc: Use image node_id 1 to create a new SDFRendererGPU object from inherited base classes: object with example: obj = SDFRendererGPU()