From 4974c2ccc7f640d6a657c22cc1a3dfa9d114b8f0 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Wed, 4 Sep 2019 22:52:38 +0200 Subject: Reset stuck particles to starting position --- utility/particles.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 utility/particles.py (limited to 'utility') diff --git a/utility/particles.py b/utility/particles.py new file mode 100644 index 0000000..b838790 --- /dev/null +++ b/utility/particles.py @@ -0,0 +1,22 @@ +import pyopencl as cl +mf = cl.mem_flags + +import numpy + +import OpenGL.GL as gl +from OpenGL.arrays import vbo + +class Particles: + def __init__(self, context, float_type, grid): + self.context = context + self.count = len(grid) + + self.np_particles = numpy.ndarray(shape=(self.count, 4), dtype=float_type) + + self.np_particles[:,0:2] = grid + self.np_particles[:,2:4] = self.np_particles[:,0:2] + + 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