def METHOD_NAME(self):
    self.clear()
    # Set a point size. Multiply with pixel ratio taking retina resolutions
    # and UI scaling into account
    self.ctx.point_size = 2 * self.get_pixel_ratio()
    # Draw the points we calculated last frame
    self.geometry1.render(self.points_program, mode=gl.POINTS)
    # Calculate delta time (not extremely accurate, but good enough)
    now = time.time()
    self.frame_time = now - self.last_time
    self.last_time = now
    # Move points with transform
    self.transform_program['dt'] = self.frame_time
    self.transform_program['mouse_pos'] = self.mouse_pos
    self.transform1.transform(self.transform_program, self.buffer2)
    # Swap variables around (ping-pong rendering)
    self.buffer1, self.buffer2 = self.buffer2, self.buffer1
    self.geometry1, self.geometry2 = self.geometry2, self.geometry1
    self.transform1, self.transform2 = self.transform2, self.transform1