def METHOD_NAME(self):
    n = len(self.data)
    color = np.random.uniform(0.1, 0.9, 4).astype(np.float32)
    color[3] = 1.0 / n ** 0.08
    loc = gl.glGetUniformLocation(self.program, "color")
    gl.glUniform4f(loc, *color)
    center = np.random.uniform(-0.5, 0.5, 3)
    loc = gl.glGetUniformLocation(self.program, "center")
    gl.glUniform3f(loc, *center)
    self.data['lifetime'] = np.random.normal(2.0, 0.5, (n,))
    self.data['start'] = np.random.normal(0.0, 0.2, (n, 3))
    self.data['end'] = np.random.normal(0.0, 1.2, (n, 3))
    gl.glBufferData(gl.GL_ARRAY_BUFFER, self.data, gl.GL_DYNAMIC_DRAW)