From bf967631c146997d7673798318d94b0a186ec89d Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 6 Sep 2019 22:29:05 +0200 Subject: Add a fun little fake bonfire _simulation_ …using appropriately colored aging particles --- utility/particles.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'utility') diff --git a/utility/particles.py b/utility/particles.py index b838790..43f32a3 100644 --- a/utility/particles.py +++ b/utility/particles.py @@ -7,7 +7,7 @@ import OpenGL.GL as gl from OpenGL.arrays import vbo class Particles: - def __init__(self, context, float_type, grid): + def __init__(self, context, queue, float_type, grid): self.context = context self.count = len(grid) @@ -16,6 +16,11 @@ class Particles: self.np_particles[:,0:2] = grid self.np_particles[:,2:4] = self.np_particles[:,0:2] + self.np_init_particles = numpy.ndarray(shape=(self.count, 2), dtype=float_type) + self.np_init_particles[:,0:2] = grid + self.cl_init_particles = cl.Buffer(context, mf.READ_ONLY, size=self.count * 2*numpy.float32(0).nbytes) + cl.enqueue_copy(queue, self.cl_init_particles, self.np_init_particles).wait(); + self.gl_particles = vbo.VBO(data=self.np_particles, usage=gl.GL_DYNAMIC_DRAW, target=gl.GL_ARRAY_BUFFER) self.gl_particles.bind() self.cl_gl_particles = cl.GLBuffer(self.context, mf.READ_WRITE, int(self.gl_particles)) -- cgit v1.2.3