def METHOD_NAME(self):
    self.clear()
    self.ctx.point_size = 2 * self.get_pixel_ratio()
    # Calculate the actual delta time and current time
    t = time.time()
    frame_time = t - self.time
    self.time = t
    # Set uniforms in the program
    self.gravity_program['dt'] = frame_time
    self.gravity_program['force'] = 0.25
    self.gravity_program['gravity_pos'] = math.sin(self.time * 0.77) * 0.25, math.cos(self.time) * 0.25
    # Transform data in buffer_1 into buffer_2
    self.gravity_1.transform(self.gravity_program, self.buffer_2)
    # Render the result (Draw buffer_2)
    self.vao_2.render(self.points_program, mode=self.ctx.POINTS)
    # Swap around stuff around so we transform back and fourth between the two buffers
    self.gravity_1, self.gravity_2 = self.gravity_2, self.gravity_1
    self.vao_1, self.vao_2 = self.vao_2, self.vao_1
    self.buffer_1, self.buffer_2 = self.buffer_2, self.buffer_1